Title :
Understanding where requirements are implemented
Author :
Burgstaller, Benedikt ; Egyed, Alexander
Author_Institution :
Johannes Kepler Univ., Linz, Austria
Abstract :
Trace links between requirements and code reveal where requirements are implemented. Such trace links are essential for code understanding and change management. The lack thereof is often cited as a key reason for software engineering failure. Unfortunately, the creation and maintenance of requirements-to-code traces remains a largely manual and error prone task due to the informal nature of requirements. This paper demonstrates that reasoning about requirements-to-code traces can be done, in part, by considering the calling relationships within the source code (call graph). We observed that requirements-to-code traces form regions along calling dependencies. Better knowledge about these regions has several direct benefits. For example, erroneous traces become detectable if a method inside a region does not trace to a requirement. Or, a missing trace (incompleteness) can be identified. Knowledge of requirement regions can also be used to help guide developers in establishing requirements-to-code traces in a more efficient manner. This paper discusses requirement regions and sketches their benefits.
Keywords :
management of change; software engineering; software management; change management; requirements-to-code trace; software engineering; source code; trace links; Gallium nitride; Information retrieval; Java; Maintenance engineering; Software; Software engineering; Unified modeling language; call tree; feature location; requirements; traces;
Conference_Titel :
Software Maintenance (ICSM), 2010 IEEE International Conference on
Conference_Location :
Timisoara
Print_ISBN :
978-1-4244-8630-4
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2010.5609699