by Achraf Ghabi
Abstract:
Model traceability is a research field dedicated to establishing and maintaining the mapping between requirements, software models, documentation, and code. It is considered as a sign for process maturity and products quality. And, it is mandated by many standards, such as: NASA Software Assurance Standard and U.K. Office of Government Commerce. Traces between requirements and code (requirement-to-code) reveal where requirements are implemented. Such traces are essential for code understanding and change management. Unfortunately, the handling of traces is highly error prone, on one side due to the informal nature of requirements and on another due to the continuous evolution of the code. Incorrect traces are not only less useful for a stakeholder but also misleading in many cases. The correctness of traces is crucial to exploit their usefulness. This thesis introduces a novel method for validating requirements-to-code traces by considering the calling relationships within the source code. As input, the approach requires existing requirements-to-code traces and as output it identifies potential errors in the input. The approach does this by investigating patterns of traces together with patterns of calling relationships. Our observation is that code that traces to a particular requirement is connected through calling relationships and we exploit this connectivity for validating traceability. The empirical evaluation on four case study systems covering 150 KLOC and 59 sample requirements demonstrates that our approach detects most errors with > 90% correctness and the quality of validated traces decreases very slowly with less input quality. Our approach is fully automated, tool supported, and efficient (linear computational complexity with input quantity with validation times < 3 seconds on the largest case study).
Reference:
Automatic Approach to Validating Requirement-to-Code Traces (Achraf Ghabi), Master's thesis, Johannes Kepler University (JKU), Linz, Austria, 2010.
Bibtex Entry:
@MastersThesis{Ghabi2010,
author = {Achraf Ghabi},
title = {Automatic Approach to Validating Requirement-to-Code Traces},
school = {Johannes Kepler University (JKU), Linz, Austria},
year = {2010},
abstract = {Model traceability is a research field dedicated to establishing and
maintaining the mapping between requirements, software models, documentation,
and code. It is considered as a sign for process maturity and products
quality. And, it is mandated by many standards, such as: NASA Software
Assurance Standard and U.K. Office of Government Commerce. Traces
between requirements and code (requirement-to-code) reveal where
requirements are implemented. Such traces are essential for code
understanding and change management. Unfortunately, the handling
of traces is highly error prone, on one side due to the informal
nature of requirements and on another due to the continuous evolution
of the code. Incorrect traces are not only less useful for a stakeholder
but also misleading in many cases. The correctness of traces is crucial
to exploit their usefulness. This thesis introduces a novel method
for validating requirements-to-code traces by considering the calling
relationships within the source code. As input, the approach requires
existing requirements-to-code traces and as output it identifies
potential errors in the input. The approach does this by investigating
patterns of traces together with patterns of calling relationships.
Our observation is that code that traces to a particular requirement
is connected through calling relationships and we exploit this connectivity
for validating traceability. The empirical evaluation on four case
study systems covering 150 KLOC and 59 sample requirements demonstrates
that our approach detects most errors with > 90% correctness and
the quality of validated traces decreases very slowly with less input
quality. Our approach is fully automated, tool supported, and efficient
(linear computational complexity with input quantity with validation
times < 3 seconds on the largest case study).},
file = {:MSc Theses\\2010 Achraf Ghabi\\Achraf Ghabi - Automatic Approach to Validating Requirement-to-Code Traces-preprint.pdf:PDF},
owner = {AK117794},
timestamp = {2015.09.22},
}