ABSTRACT
Software traceability is a sought-after, yet often elusive quality in software-intensive systems. Required in safety-critical systems by many certifying bodies, such as the USA Federal Aviation Authority, software traceability is an essential element of the software development process. In practice, traceability is often conducted in an ad-hoc, after-the-fact manner and, therefore, its benefits are not always fully realized. Over the past decade, researchers have focused on specific areas of the traceability problem, developing more sophisticated tooling, promoting strategic planning, applying information retrieval techniques capable of semi-automating the trace creation and maintenance process, developing new trace query languages and visualization techniques that use trace links, and applying traceability in specific domains such as Model Driven Development, product line systems, and agile project environments. In this paper, we build upon a prior body of work to highlight the state-of-the-art in software traceability, and to present compelling areas of research that need to be addressed.
- S. Ajila and A. B. Kaba. Using traceability mechanisms to support software product line evolution. In IEEE International Conference on Information Reuse and Integration (IRI), pages 157–162, 2004.Google ScholarCross Ref
- N. Anquetil, U. Kulesza, R. Mitschke, A. Moreira, J.-C. Royer, A. Rummler, and A. Sousa. A model-driven traceability framework for software product lines. Software and System Modeling, 9(4):427–451, 2010. Google ScholarDigital Library
- G. Antoniol, G. Canfora, G. Casazza, A. De Lucia, and E. Merlo. Recovering traceability links between code and documentation. IEEE Transactions on Software Engineering, 28(10):970–983, 2002. Google ScholarDigital Library
- G. Antoniol, E. Merlo, Y.-G. Guéhéneuc, and H. Sahraoui. On feature traceability in object oriented programs. In 3rd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), pages 73–78, 2005. Google ScholarDigital Library
- P. Arkley and S. Riddle. Overcoming the traceability benefit problem. In 13th IEEE International Requirements Engineering Conference (RE), pages 385–389, 2005. Google ScholarDigital Library
- H. U. Asuncion, A. Asuncion, and R. N. Taylor. Software traceability with topic modeling. In 32nd ACM/IEEE International Conference on Software Engineering (ICSE), pages 95–104, 2010. Google ScholarDigital Library
- M. Barbero, M. Didonet, D. Fabro, and J. Bézivin. Traceability and provenance issues in global model management. In 3rd ECMDA-Traceability Workshop (ECMDA-TW), 2007.Google Scholar
- F. Blaauboer, K. Sikkel, and M. N. Aydin. Deciding to adopt requirements traceability in practice. In 19th International Conference on Advanced Information Systems Engineering (CAiSE), pages 294–308, 2007. Google ScholarDigital Library
- E. Bouillon, P. Mäder, and I. Philippow. A survey on usage scenarios for requirements traceability in practice. In 19th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), volume 7830 of LNCS, pages 158–173, 2013. Google ScholarDigital Library
- X. Chen, J. G. Hosking, and J. Grundy. Visualizing traceability links between source code and documentation. In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 119–126, 2012.Google ScholarCross Ref
- J. Cleland-Huang, C. K. Chang, and Y. Ge. Supporting event based traceability through high-level recognition of change events. In 26th International Computer Software and Applications Conference (COMPSAC), pages 595–602, 2002. Google ScholarDigital Library
- J. Cleland-Huang, M. Heimdahl, J. Huffman Hayes, R. Lutz, and P. Mäder. Trace queries for safety requirements in high assurance systems. In 18th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), volume 7195 of LNCS, pages 179–193, 2012. Google ScholarDigital Library
- P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, 2001. Google ScholarDigital Library
- CoEST: Center of excellence for software traceability, http://www.CoEST.org.Google Scholar
- Committee for Advancing Software Intensive Systems Producibility. Critical Code: Software Producibility for Defense. The National Academies Press, 2011. Google ScholarDigital Library
- J. R. Cooper, S.-W. Lee, R. A. Gandhi, and O. Gotel. Requirements engineering visualization: A survey on the state-of-the-art. In 4th International Workshop on Requirements Engineering Visualization (REV), pages 46–55, 2009. Google ScholarDigital Library
- D. Cuddeback, A. Dekhtyar, J. Huffman Hayes, J. Holden, and W.-K. Kong. Towards overcoming human analyst fallibility in the requirements tracing process: Nier track. In 33rd International Conference on Software Engineering (ICSE), pages 860–863, 2011. Google ScholarDigital Library
- D. C. de Leon and J. Alves-Foss. Experiments on processing and linking semantically augmented requirement specifications. In 37th Hawaii International Conference on System Sciences (HICSS), 2004. Google ScholarDigital Library
- A. De Lucia, F. Fasano, R. Oliveto, and G. Tortora. Enhancing an artefact management system with traceability recovery features. In 20th IEEE International Conference on Software Maintenance (ICSM), pages 306–315, 2004. Google ScholarDigital Library
- A. De Lucia, R. Oliveto, and G. Tortora. Adams re-trace. In 35th International Conference on Software Engineering (ICSE), pages 839–842, 2008.Google ScholarDigital Library
- A. Dekhtyar, O. Dekhtyar, J. Holden, J. Huffman Hayes, D. Cuddeback, and W.-K. Kong. On human analyst performance in assisted requirements tracing: Statistical analysis. In 19th IEEE International Requirements Engineering Conference (RE), pages 111–120, 2011. Google ScholarDigital Library
- A. Dekhtyar, J. Huffman Hayes, S. K. Sundaram, E. A. Holbrook, and O. Dekhtyar. Technique integration for requirements assessment. In 15th IEEE International Requirements Engineering Conference (RE), pages 141–150, 2007.Google ScholarCross Ref
- A. Delater and B. Paech. Analyzing the tracing of requirements and source code during software development - a research preview. In 19th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), volume 7830 of LNCS, pages 308–314, 2013. Google ScholarDigital Library
- T. Dietrich, J. Cleland-Huang, and Y. Shin. Learning effective query transformations for enhanced requirements trace retrieval. In 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 586–591, 2013.Google ScholarDigital Library
- B. Dit, M. Revelle, and D. Poshyvanyk. Integrating information retrieval, execution and link analysis analysis algorithms to improve feature location in software. Empirical Software Engineering, 18(2):277–309, 2013. Google ScholarDigital Library
- A. Egyed, P. Grünbacher, M. Heindl, and S. Biffl. Value-based requirements traceability: Lessons learned. In 15th IEEE International Requirements Engineering Conference (RE), pages 115–118, 2007.Google ScholarCross Ref
- European Computer Manufacturers Association. Reference model for frameworks of software engineering environments. Technical Report TR/55, NIST Special Publication 500–211, ECMA, Geneva, Switzerland, June 1993.Google Scholar
- D. Falessi, G. Cantone, and G. Canfora. Empirical principles and an industrial case study in retrieving equivalent requirements via natural language processing techniques. IEEE Transactions on Software Engineering, 39(1):18–44, 2013. Google ScholarDigital Library
- Federal Aviation Authority (FAA). DO-178B: Software Considerations in Airborne Systems and Equipment Certification, faa’s advisory circular ac20-115b edition.Google Scholar
- Food and Drug Administration. Guidance for the Content of Premarket Submissions for Software Contained in Medical Devices, 2005.Google Scholar
- R. Freude and A. Königs. Tool integration with consistency relations and their visualization. In ESEC/FSE Workshop on Tool Integration in System Development, pages 6–10, 2003.Google Scholar
- M. Gethers, R. Oliveto, D. Poshyvanyk, and A. De Lucia. On integrating orthogonal information retrieval methods to improve traceability link recovery. In 27th IEEE International Conference on Software Maintenance (ICSM), pages 133–142, 2011. Google ScholarDigital Library
- A. Ghabi and A. Egyed. Code patterns for automatically validating requirements-to-code traces. In 27th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 200–209, 2012. Google ScholarDigital Library
- O. Gotel, J. Cleland-Huang, J. Huffman Hayes, A. Zisman, A. Egyed, P. Grünbacher, and G. Antoniol. The quest for ubiquity: A roadmap for software and systems traceability research. In 21st IEEE International Requirements Engineering Conference (RE), pages 71–80, 2012. Google ScholarDigital Library
- O. Gotel, J. Cleland-Huang, J. Huffman Hayes, A. Zisman, A. Egyed, P. Grünbacher, A. Dekhtyar, G. Antoniol, and J. Maletic. The grand challenge of traceability (v1.0). In J. Cleland-Huang, O. Gotel, and A. Zisman, editors, Software and Systems Traceability, pages 343–409. Springer, 2012.Google Scholar
- O. Gotel, J. Cleland-Huang, J. Huffman Hayes, A. Zisman, A. Egyed, P. Grünbacher, A. Dekhtyar, G. Antoniol, J. Maletic, and P. Mäder. Traceability fundamentals. In J. Cleland-Huang, O. Gotel, and A. Zisman, editors, Software and Systems Traceability, pages 3–22. Springer, 2012. 10.1007/978-1-4471-2239-51.Google Scholar
- O. Gotel and A. Finkelstein. An analysis of the requirements traceability problem. In 1st IEEE International Conference on Requirements Engineering (ICRE), pages 94–101, 1994.Google ScholarCross Ref
- O. Gotel and A. Finkelstein. Contribution structures {requirements artifacts}. In 2nd IEEE International Symposium on Requirements Engineering (RE), pages 100–107, 1995. Google ScholarDigital Library
- O. Gotel, F. T. Marchese, and S. J. Morris. On requirements visualization. In 2nd International Workshop on Requirements Engineering Visualization (REV), page 11, 2007. Google ScholarDigital Library
- S. Guckenheimer and J. Perez. Software Engineering with Microsoft Visual Studio Team System. Addison Wesley, 2006. Google ScholarDigital Library
- J. Guo, J. Cleland-Huang, and B. Berenbach. Foundations for an expert system in domain-specific traceability. In 21st IEEE International Requirements Engineering Conference (RE), pages 42–51, 2013.Google ScholarCross Ref
- J. Heer, M. Bostock, and V. Ogievetsky. A tour through the visualization zoo. Commun. ACM, 53(6):59–67, June 2010. Google ScholarDigital Library
- E. A. Holbrook, J. Huffman Hayes, A. Dekhtyar, and W. Li. A study of methods for textual satisfaction assessment. Empirical Software Engineering, 18(1):139–176, 2013.Google ScholarCross Ref
- J. Huffman Hayes, A. Dekhtyar, and S. K. Sundaram. Advancing candidate link generation for requirements tracing: The study of methods. IEEE Transactions on Software Engineering, 32(1):4–19, 2006. Google ScholarDigital Library
- E. Hull, K. Jackson, and J. Dick. Requirements Engineering. Springer, 2002. Google ScholarDigital Library
- C. Ingram and S. Riddle. Cost-benefits of traceability. In Software and Systems Traceability, pages 23–42. Springer, 2012.Google Scholar
- W. Jirapanthong and A. Zisman. Xtraque: traceability for product line systems. Software and System Modeling, 8(1):117–144, 2009.Google ScholarCross Ref
- V. Katta and T. Stälhane. Traceability of safety systems: approach, meta-model and tool support,. Tech. report hwr-1053, oecd halden reactor project, Institute for Energy Technology Note: Available upon request., 2012.Google Scholar
- E. Keenan, A. Czauderna, G. Leach, J. Cleland-Huang, Y. Shin, E. Moritz, M. Gethers, D. Poshyvanyk, J. Maletic, J. Huffman Hayes, A. Dekhtyar, D. Manukian, S. Hossein, and D. Hearn. Tracelab: An experimental workbench for equipping researchers to innovate, synthesize, and comparatively evaluate traceability solutions. In Tool Demo, 34th International Conference on Software Engineering (ICSE), pages 1375–1378, 2012. Google ScholarDigital Library
- P. R. Keller and M. M. Keller. Visual Cues: Practical Data Visualization. IEEE Computer Society Press, 1994. Google ScholarDigital Library
- V. Kirova, N. Kirby, D. Kothari, and G. Childress. Effective requirements traceability: Models, tools, and practices. Bell Labs Technical Journal, 12(4):143–157, 2008. Google ScholarDigital Library
- D. S. Kolovos, R. F. Paige, and F. A. C. Polack. C.: On-demand merging of traceability links with models. 3rd ecmda traceability workshop, 2006.Google Scholar
- W.-K. Kong, J. Huffman Hayes, A. Dekhtyar, and O. Dekhtyar. Process improvement for traceability: A study of human fallibility. In 20th IEEE International Requirements Engineering Conference (RE), pages 31–40, 2012. Google ScholarDigital Library
- A. Königs and A. Schürr. Mdi: A rule-based multi-document and tool integration approach. Software and System Modeling, 5(4):349–368, 2006.Google ScholarDigital Library
- H. Kuang, P. Mäder, H. Hu, A. Ghabi, L. Huang, J. Lv, and A. Egyed. Do data dependencies in source code complement call dependencies for understanding requirements traceability? In 28th IEEE International Conference on Software Maintenance (ICSM), pages 181–190, 2012. Google ScholarDigital Library
- Y. Li and W. Maalej. Which traceability visualization is suitable in this context? a comparative study. In 18th International Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), pages 194–210, 2012. Google ScholarDigital Library
- J. Lin, C. C. Lin, J. Cleland-Huang, R. Settimi, J. Amaya, G. Bedford, B. Berenbach, O. Ben Khadra, C. Duan, and X. Zou. Poirot: A distributed tool supporting enterprise-wide automated traceability. In 14th IEEE International Requirements Engineering Conference (RE), pages 356–357, 2006. Google ScholarDigital Library
- S. Lohar, S. Amornborvornwong, A. Zisman, and J. Cleland-Huang. Improving trace accuracy through data-driven configuration and composition of tracing features. In 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE), pages 378–388, 2013. Google ScholarDigital Library
- P. Mäder and J. Cleland-Huang. A visual language for modeling and executing traceability queries. Software and System Modeling, 12(3):537–553, 2013. Google ScholarDigital Library
- P. Mäder and A. Egyed. Assessing the effect of requirements traceability for software maintenance. In 28th IEEE International Conference on Software Maintenance (ICSM), pages 171–180, 2012. Google ScholarDigital Library
- P. Mäder and O. Gotel. Towards automated traceability maintenance. Journal of Systems and Software, 85(10):2205–2227, 2012. Google ScholarDigital Library
- P. Mäder, O. Gotel, and I. Philippow. Getting back to basics: Promoting the use of a traceability information model in practice. In 5th Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), 2009. Google ScholarDigital Library
- P. Mäder, O. Gotel, and I. Philippow. Motivation matters in the traceability trenches. In 17th IEEE International Requirements Engineering Conference (RE), pages 143–148, 2009. Google ScholarDigital Library
- P. Mäder, P. L. Jones, Y. Zhang, and J. Cleland-Huang. Strategic traceability for safety-critical projects. IEEE Software, 30(3):58–66, 2013. Google ScholarDigital Library
- J. I. Maletic and M. L. Collard. Tql: A query language to support traceability. In 5th Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), pages 16–20, 2009. Google ScholarDigital Library
- A. Marcus, X. Xie, and D. Poshyvanyk. When and how to visualize traceability links? In 3rd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), pages 56–61, 2005. Google ScholarDigital Library
- T. Merten, D. Juppner, and A. Delater. Improved representation of traceability links in requirements engineering knowledge using sunburst and netmap visualizations. In 4th Workshop Managing Requirements Knowledge (MARK), pages 17–21, 2011.Google ScholarCross Ref
- T. Miller and S. Agne. Attention-based information retrieval using eye tracker data. In 3rd International Conference on Knowledge Capture (K-CAP), pages 209–210, 2005. Google ScholarDigital Library
- R. Mitschke and M. Eichberg. Supporting the evolution of software product lines. In 4th ECMDA-Traceability Workshop (ECMDA-TW), pages 87–96, 2008.Google Scholar
- L. G. P. Murta, A. van der Hoek, and C. M. L. Werner. Archtrace: Policy-based support for managing evolving architecture-to-implementation traceability links. In 21st IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 135–144, 2006. Google ScholarDigital Library
- P. Nistala and P. Kumari. Establishing content traceability for software applications: An approach based on structuring and tracking of configuration elements. In 7th Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), 2013.Google ScholarCross Ref
- N. Niu, S. Reddivari, and Z. Chen. Keeping requirements on track via visual analytics. In 21st IEEE International Requirements Engineering Conference (RE), pages 205–214, 2013.Google ScholarCross Ref
- S. C. of RTCA. DO-178C, software considerations in airborne systems and equipment certification, 2011.Google Scholar
- A. Panichella, B. Dit, R. Oliveto, M. Di Penta, D. Poshyvanyk, and A. De Lucia. How to effectively use topic models for software engineering tasks? an approach based on genetic algorithms. In 35th International Conference on Software Engineering (ICSE), pages 522–531, 2013. Google ScholarDigital Library
- M. Panis. Successful deployment of requirements traceability in a commercial engineering organization...really. In 18th IEEE International Requirements Engineering Conference (RE), pages 303–307, 2010. Google ScholarDigital Library
- D. Pfitzner, V. Hobbs, and D. Powers. A unified taxonomic framework for information visualization. In Asia-Pacific Symposium on Information Visualisation (APVis), pages 57–66, 2003. Google ScholarDigital Library
- D. Poshyvanyk. Using information retrieval to support software maintenance tasks. In 25th IEEE International Conference on Software Maintenance (ICSM), pages 453–456, 2009.Google ScholarCross Ref
- B. Ramesh and M. Jarke. Toward reference models of requirements traceability. IEEE Transactions on Software Engineering, 27(1):58–93, 2001. Google ScholarDigital Library
- P. Rempel, P. Mäder, and T. Kuschke. An empirical study on project-specific traceability strategies. In 21st IEEE International Requirements Engineering Conference (RE), pages 195–204, 2013.Google ScholarCross Ref
- P. Rempel, P. Mäder, T. Kuschke, and J. Cleland-Huang. Mind the gap: Assessing the conformance of software traceability to relevant guidelines. In 36th International Conference on Software Engineering (ICSE), 2014. Google ScholarDigital Library
- Y. Shin and J. Cleland-Huang. A comparative evaluation of two user feedback techniques for requirements trace retrieval. In 27th Annual ACM Symposium on Applied Computing (SAC), pages 1069–1074, 2012. Google ScholarDigital Library
- B. Shneiderman. The eyes have it: A task by data type taxonomy for information visualizations. In IEEE Symposium on Visual Languages (VL), pages 336–343, 1996. Google ScholarDigital Library
- M. Smith, D. Weiss, P. Wilcox, and R. Dewar. The ophelia traceability layer. In F. Angeli, editor, Cooperative Methods and tools for distributed software processes, volume 380.222 of RCOST/SOFTWARE TECHNOLOGY, pages 88–464, 2003.Google Scholar
- G. Spanoudakis, A. Zisman, E. Pérez-Mi˜ nana, and P. Krause. Rule-based generation of requirements traceability relations. Journal of Systems and Software, 72(2):105–127, 2004.Google ScholarCross Ref
- H. Sultanov, J. Huffman Hayes, and W.-K. Kong. Application of swarm techniques to requirements tracing. Requirements Engineering, 16(3):209–226, 2011. Google ScholarDigital Library
- S. K. Sundaram, J. H. Hayes, A. Dekhtyar, and E. A. Holbrook. Assessing traceability of software engineering artifacts. Requirements Engineering, 15(3):313–335, 2010. Google ScholarDigital Library
- J. J. Thomas and K. A. Cook. A visual analytics agenda. IEEE Computer Graphics and Applications, 26(1):10–13, 2006. Google ScholarDigital Library
- E. Vassev and M. Hinchey. Autonomy requirements engineering. IEEE Computer, 46(8):82–84, 2013. Google ScholarDigital Library
- A. von Knethen. Change-oriented requirements traceability: Support for evolution of embedded systems. In 18th IEEE International Conference on Software Maintenance (ICSM), pages 482–485, 2002. Google ScholarDigital Library
- J. von Pilgrim, B. Vanhooff, I. Schulz-Gerlach, and Y. Berbers. Constructing and visualizing transformation chains. In 4th European Conference on Model Driven Architecture – Foundations and Applications (ECMDA-FA), pages 17–32, 2008. Google ScholarDigital Library
- S. Winkler. On usability in requirements trace visualizations. In 3rd International Workshop on Requirements Engineering Visualization (REV), pages 56–60, 2008. Google ScholarDigital Library
- S. Winkler. Trace retrieval for evolving artifacts. In 5th Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), pages 49–56, 2009. Google ScholarDigital Library
Index Terms
- Software traceability: trends and future directions
Recommendations
Mind the gap: assessing the conformance of software traceability to relevant guidelines
ICSE 2014: Proceedings of the 36th International Conference on Software EngineeringMany guidelines for safety-critical industries such as aeronautics, medical devices, and railway communications, specify that traceability must be used to demonstrate that a rigorous process has been followed and to provide evidence that the system is ...
Medical device standards' requirements for traceability during the software development lifecycle and implementation of a traceability assessment model
Developing safety critical software is a complex process. Due to the fact that medical device software failure can lead to catastrophic consequences, numerous standards have been developed which govern software development in the medical device domain. ...
Do developers benefit from requirements traceability when evolving and maintaining a software system?
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 ...
Comments