Automatic Approach to Validating Requirement-to-Code Traces

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:
Achraf Ghabi, "Automatic Approach to Validating Requirement-to-Code Traces", Master's thesis, Johannes Kepler University (JKU), Linz, Austria, 2010.
Bibtex Entry:
@MastersThesis{Ghabi2010,
  Title                    = {Automatic Approach to Validating Requirement-to-Code Traces},
  Author                   = {Achraf Ghabi},
  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.pdf:PDF},
  Owner                    = {AK117794},
  Timestamp                = {2015.09.22}
}
Powered by bibtexbrowser