Understanding where requirements are implemented.
by Benedikt Burgstaller, Alexander Egyed
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.
Reference:
Benedikt Burgstaller, Alexander Egyed, "Understanding where requirements are implemented.", pp. 1-5, 2010.
Bibtex Entry:
@Conference{DBLP:conf/icsm/BurgstallerE10, Title = {Understanding where requirements are implemented.}, Author = {Benedikt Burgstaller and Alexander Egyed}, Booktitle = {26th IEEE International Conference on Software Maintenance (ICSM), Timisoara, Romania}, Year = {2010}, Pages = {1-5}, 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.}, Doi = {10.1109/ICSM.2010.5609699}, File = {Understanding Where Requirements are Implemented:Conferences\\ICSM 2010 - Understanding Where Requirements are Implemented\\Understanding Where Requirements are Implemented.pdf:PDF}, Keywords = {FWF P21321-N15, requirements, traceability} }
Powered by bibtexbrowser