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