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. Subjects sketched their task solutions on paper to focus on the their ability to solving the problems rather than their programming skills. 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.
Similar content being viewed by others
Notes
The U.S. Health Insurance Portability and Accountability Act of 1996 (HIPAA) contains a privacy rule, which regulates the use and disclosure of Protected Health Information (PHI). PHI is any information held by a covered entity, which concerns health status, provision of health care, or payment for health care that can be linked to an individual (HIPPA 1996).
References
Ahmad A, Ghazali M (2007) Documenting requirements traceability information for small projects. In: IEEE international multitopic conference (INMIC 2007), pp 1–5. doi: 10.1109/INMIC.2007.4557711
Arkley P, Riddle S (2005) Overcoming the traceability benefit problem. In: Proceedings of the 13th international requirements engineering conference (RE05), pp 385–389. doi: 10.1109/RE.2010.35
Barashev D, Thomas A (2013) GanttProject: Free project scheduling and management. http://www.ganttproject.biz
Basili V, Shull F, Lanubile F (1999) Building knowledge through families of experiments. IEEE Trans Softw Eng 25(4):456–473. doi: 10.1109/32.799939
Box GEP, Hunter JS, Hunter WG (2005) Statistics for experimenters: design, innovation, and discovery, 2nd edn. Wiley, ISBN 978-0-471-71813-0
Briand L, Falessi D, Nejati S, Sabetzadeh M, Yue T (2014) Traceability and sysml design slices to support safety inspections: a controlled experiment. ACM Trans Softw Eng Methodol (TOSEM) 23(1):1–43. doi: 10.1145/2559978
Cleland-Huang J, Gotel O, Huffman Hayes J, Mäder P, Zisman A (2014) Software traceability: trends and future directions. In: Proceedings of the 36th international conference on software engineering (ICSE). Hyderabad. pp 55–69. doi: 10.1145/2593882.2593891
Crawley MJ (2002) Statistical computing—an introduction to data analysis using S-plus. Wiley, ISBN 978-0-471-56040-1
Cuddeback D, Dekhtyar A, Huffman Hayes J (2010) Automated requirements traceability: the study of human analysts. In: Proceedings of the 18th IEEE international requirements engineering conference (RE10), pp 231–240. doi: 10.1109/RE.2010.35
Curtis B, Sheppard S B, Milliman P, Borst M A, Love T (1979) Measuring the psychological complexity of software maintenance tasks with the Halstead and McCabe metrics. IEEE Trans Softw Eng 5(2):96–104. doi: 10.1109/TSE.1979.234165
De Lucia A, Oliveto R, Zurolo F, Di Penta M (2006) Improving comprehensibility of source code via traceability information: a controlled experiment. In: Proceedings of the 14th international conference on program comprehension (ICPC 2006), pp 317–326. doi: 10.1109/ICPC.2006.28
De Lucia A, Oliveto R, Tortora G (2008) IR-based traceability recovery processes: an empirical comparison of “one-shot” and incremental processes. In: Proceedings of the 23rd IEEE/ACM international conference on automated software engineering (ASE 2008). IEEE Computer Society, pp 39–48. doi: 10.1109/ASE.2008.14
Dömges R, Pohl K (1998) Adapting traceability environments to project-specific needs. Commun ACM 41(12):54–62. doi: 10.1145/290133.290149
Dzidek WJ, Arisholm E, Briand LC (2008) A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans Softw Eng 34(3):407–432. doi: 10.1109/TSE.2008.15
Eclipse Metrics plugin (2013) Eclipse metrics plugin, http://sourceforge.net/projects/metrics/
Egyed A, Graf F, Gr¨unbacher P (2010) Effort and quality of recovering requirements-to-code traces: two exploratory experiments. In: Proceedings of the 18th IEEE international requirements engineering conference (RE), pp 221–230. doi: 10.1109/RE.2010.34
Glass R L (2002) Facts and fallacies of software engineering. Addison-Wesley Professional, Boston. ISBN 978-0321117427
Gotel O, Finkelstein A (1994) An analysis of the requirements traceability problem. In: Proceedings of the 1st international conference on requirements engineering ICRE94. Colorado Springs, pp 94–101. doi: 10.1109/ICRE.1994.292398
Gotel O, Cleland-Huang J, Huffman Hayes J, Zisman A, Egyed A, Grünbacher P, Dekhtyar A, Antoniol G, Maletic J, Mäder P (2012) Traceability fundamentals. In: Cleland-Huang J, Gotel O, Zisman A (eds) Software and systems traceability. Springer, London, pp 3–22. doi: 10.1007/978-1-4471-2239-5_1
HIPPA (1996) Health insurance portability and accountability act (HIPPA)—wikipedia, the free encyclopedia. http://en.wikipedia.org/w/index.php?title=Health_Insurance_Portability_and_Accountability_Act&oldid=593856731. Accessed 14 Feb 2014
ISO (2011) ISO:26262-6:2011 Road vehicles—functional safety—part 6: product development at the software level
Leffingwell D (1997) Calculating your return on investment from more effective requirements management. Tech. rep., Available online at http://www.ibm.com/developerworks/rational/library/347.html
Lindvall M, Sandahl K (1996) Practical implications of traceability. Softw Pract Exp 26(10):1161–1180. doi: 10.1002/(SICI)1097-024X(199610)26:10<1161::AID-SPE58>3.0.CO;2-X
Mäder P, Cleland-Huang J (2010) A visual traceability modeling language. In: Model driven engineering languages and systems—13th international conference, MODELS 2010, Oslo, Norway, October 3–8, 2010, Proceedings, Springer, vol LNCS 6394, pp 226–240. doi: 10.1007/978-3-642-16145-2_16
Mäder P, Cleland-Huang J (2013) A visual language for modeling and executing traceability queries. Softw Syst Model 12(3):537–553. doi: 10.1007/s10270-012-0237-0
Mäder P, Egyed A (2012) Assessing the effect of requirements traceability for software maintenance. In: Proceedings of the 28th IEEE international conference on software maintenance (ICSM). IEEE Computer Society, pp 171–180. doi: 10.1109/ICSM.2012.6405269
Mäder P, Gotel O (2012) Towards automated traceability maintenance. J Syst Softw 85(10):2205–2227. doi: 10.1016/j.jss.2011.10.023
Mäder P, Gotel O, Philippow I (2008) Rule-based maintenance of post-requirements traceability relations. In: 16th IEEE international requirements engineering conference (RE’08), 8–12 September 2008, Barcelona, pp 23–32. doi: 10.1109/RE.2008.24
Mäder P, Gotel O, Philippow I (2009) Motivation matters in the traceability trenches. In: Proceedings of the 17th international requirements engineering conference (RE09), Atlanta, pp 143–148. doi: 10.1109/RE.2009.23
Mäder P, Jones PL, Zhang Y, Cleland-Huang J (2013) Strategic traceability for safety critical projects. IEEE Softw 30(3):58–66. doi: 10.1109/MS.2013.60
Omoronyia I, Sindre G (2011) Exploring a bayesian and linear approach to requirements traceability. Inf Softw Technol 53(8):851–871. doi: 10.1016/j.infsof.2011.03.001
Pohl K (1996a) PRO-ART: enabling requirements pre-traceability. In: Proceedings of the 2nd international conference on requirements engineering (ICRE). IEEE Computer Society, pp 76–84. doi: 10.1109/ICRE.1996.491432
Pohl K (1996b) Process-centered requirements engineering. Research Studies Press, ISBN 0-86380-193-5
R Project (2013) The R project for statistical computing. http://www.r-project.org
Ramesh B, Jarke M (2001) Toward reference models of requirements traceability. IEEE Trans Softw Eng 27(1):58–93. doi: 10.1109/32.895989
Ramesh B, Powers T, Stubbs C, Edwards M (1995) Implementing requirements traceability: a case study. In: Proceedings of the 2nd IEEE international symposium on requirements engineering (ISRE), pp 89–95. doi: 10.1109/ISRE.1995.512549
Rempel P, Mäder P, Kuschke T (2013) An empirical study on project-specific traceability strategies. In: Proceedings of the 21st international requirements engineering conference (RE13). Rio de Janeiro, pp 195–204. doi: 10.1109/RE.2013.6636719
Rempel P, Mäder P, Kuschke T, Cleland-Huang J (2014) Mind the gap: assessing the conformance of software traceability to relevant guidelines. In: Proceedings of the 36th international conference on software engineering (ICSE14). Hyderabad, pp 943–954. doi: 10.1145/2568225.2568290
Ricca F, Di Penta M, Torchiano M, Tonella P, Ceccato M (2010) How developers’ experience and ability influence web application comprehension tasks supported by uml stereotypes: a series of four experiments. IEEE Trans Softw Eng 36(1):96–118. doi: 10.1109/TSE.2009.69
RTCA/EUROCAE (2011) DO-178C/ED-12C: software considerations in airborne systems and equipment certification
Williams L, Meneely A, Smith S, Hayward L, Smith B, King J (2013) iTrust: role-based healthcare. http://agile.csc.ncsu.edu/iTrust/
Acknowledgments
We would like to thank all participants for their dedicated work and the developers of Gantt and iTrust for making their work publicly available. This work was funded by the Austrian Science Fund (FWF) M1268-N23, P23115-N23, the German Research Foundation (DFG) Ph49/8-1, and the German Ministry of Education and Research (BMBF) 16V0116.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Massimiliano Di Penta and Jonathan Maletic
Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Mäder, P., Egyed, A. Do developers benefit from requirements traceability when evolving and maintaining a software system?. Empir Software Eng 20, 413–441 (2015). https://doi.org/10.1007/s10664-014-9314-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-014-9314-z