Understanding where requirements are implemented. (bibtex)
by Benedikt Burgstaller and 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 and Alexander Egyed: Understanding where requirements are implemented., in Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010), Timisoara, Romania, IEEE Computer Society, 2010.
Bibtex Entry:
@Conference{DBLP:conf/icsm/BurgstallerE10,
  author    = {Benedikt Burgstaller and Alexander Egyed},
  title     = {Understanding where requirements are implemented.},
  booktitle = {Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010), Timisoara, Romania},
  year      = {2010},
  pages     = {1-5},
  publisher = {IEEE Computer Society},
  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      = {:Conferences\\ICSM 2010 - Understanding Where Requirements are Implemented\\Understanding Where Requirements are Implemented-preprint.pdf:PDF},
  keywords  = {FWF P21321},
}
Powered by bibtexbrowser