by Achraf Ghabi, Alexander Egyed
Abstract:
Traces between requirements and code reveal where requirements are implemented. Such traces are essential for code understanding and change management. Unfortunately, traces are known to be error prone. This paper introduces a novel approach for validating requirements-to-code traces through calling relationships within the code. As input, the approach requires an executable system, the corresponding requirements, and the requirements-to-code traces that need validating. As output, the approach identifies likely incorrect or missing traces by investigating patterns of traces with calling relationships. The empirical evaluation of four case study systems covering 150 KLOC and 59 requirements demonstrates that the approach detects most errors with 85-95% precision and 82-96% recall and is able to handle traces of varying levels of correctness and completeness. The approach is fully automated, tool supported, and scalable.
Reference:
Code patterns for automatically validating requirements-to-code traces. (Achraf Ghabi, Alexander Egyed), In Proceedings of the 27th International Conference on Automated Software Engineering (ASE 2012), Essen, Germany (Michael Goedicke, Tim Menzies, Motoshi Saeki, eds.), ACM, 2012.
Bibtex Entry:
@Conference{DBLP:conf/kbse/GhabiE12,
author = {Achraf Ghabi and Alexander Egyed},
title = {Code patterns for automatically validating requirements-to-code traces.},
booktitle = {Proceedings of the 27th International Conference on Automated Software Engineering (ASE 2012), Essen, Germany},
year = {2012},
editor = {Michael Goedicke and Tim Menzies and Motoshi Saeki},
pages = {200-209},
publisher = {ACM},
abstract = {Traces between requirements and code reveal where requirements are
implemented. Such traces are essential for code understanding and
change management. Unfortunately, traces are known to be error prone.
This paper introduces a novel approach for validating requirements-to-code
traces through calling relationships within the code. As input, the
approach requires an executable system, the corresponding requirements,
and the requirements-to-code traces that need validating. As output,
the approach identifies likely incorrect or missing traces by investigating
patterns of traces with calling relationships. The empirical evaluation
of four case study systems covering 150 KLOC and 59 requirements
demonstrates that the approach detects most errors with 85-95% precision
and 82-96% recall and is able to handle traces of varying levels
of correctness and completeness. The approach is fully automated,
tool supported, and scalable.},
doi = {10.1145/2351676.2351705},
file = {:Conferences\\ASE 2012 - Code Patterns for Automatically Validating Requirements-to-Code Traces\\Code Patterns for Automatically Validating Requirements-to-Code Traces-preprint.pdf:PDF},
keywords = {FWF P23115},
}