by Patrick Mäder, Alexander Egyed
Abstract:
Software traceability is a required component of many software development processes. Advocates of requirements traceability cite advantages like easier program comprehension and support for software maintenance (i.e., software change). However, despite its growing popularity, there exists no published evaluation about the usefulness of requirements traceability. It is important, if not crucial, to investigate whether the use of requirements traceability can significantly support development tasks to eventually justify its costs. We thus conducted a controlled experiment with 71 subjects re-performing real maintenance tasks on two third-party development projects: half of the tasks with and the other half without traceability. Task solutions were recorded on paper and not implemented. Our findings show that subjects with traceability performed on average 24% faster on a given task and created on average 50% more correct solutions - suggesting that traceability not only saves effort but can profoundly improve software maintenance quality.
Reference:
Do software engineers benefit from source code navigation with traceability? - An experiment in software change management. (Patrick Mäder, Alexander Egyed), In Proceedings of the 26th International Conference on Automated Software Engineering (ASE 2011), Lawrence, USA (Perry Alexander, Corina S. Pasareanu, John G. Hosking, eds.), IEEE Computer Society, 2011.
Bibtex Entry:
@Conference{DBLP:conf/kbse/MaderE11,
author = {Patrick Mäder and Alexander Egyed},
title = {Do software engineers benefit from source code navigation with traceability? - An experiment in software change management.},
booktitle = {Proceedings of the 26th International Conference on Automated Software Engineering (ASE 2011), Lawrence, USA},
year = {2011},
editor = {Perry Alexander and Corina S. Pasareanu and John G. Hosking},
pages = {444-447},
publisher = {IEEE Computer Society},
abstract = {Software traceability is a required component of many software development
processes. Advocates of requirements traceability cite advantages
like easier program comprehension and support for software maintenance
(i.e., software change). However, despite its growing popularity,
there exists no published evaluation about the usefulness of requirements
traceability. It is important, if not crucial, to investigate whether
the use of requirements traceability can significantly support development
tasks to eventually justify its costs. We thus conducted a controlled
experiment with 71 subjects re-performing real maintenance tasks
on two third-party development projects: half of the tasks with and
the other half without traceability. Task solutions were recorded
on paper and not implemented. Our findings show that subjects with
traceability performed on average 24% faster on a given task and
created on average 50% more correct solutions - suggesting that traceability
not only saves effort but can profoundly improve software maintenance
quality.},
doi = {10.1109/ASE.2011.6100095},
file = {:Conferences\\ASE 2011 - Do Software Engineers benefit from Source Code Navigation with Traceability\\Do Software Engineers benefit from Source Code Navigation with Traceability-preprint.pdf:PDF},
keywords = {FWF M1268, FWF P23115},
}