A survey of traceability in requirements engineering and model-driven development

Traceability—the ability to follow the life of software artifacts—is a topic of great interest to software developers in general, and to requirements engineers and model-driven developers in particular. This article aims to bring those stakeholders together by providing an overview of the current state of traceability research and practice in both areas. As part of an extensive literature survey, we identify commonalities and differences in these areas and uncover several unresolved challenges which affect both domains. A good common foundation for further advances regarding these challenges appears to be a combination of the formal basis and the automated recording opportunities of MDD on the one hand, and the more holistic view of traceability in the requirements engineering domain on the other hand.

[1]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[2]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[3]  Björn Regnell,et al.  A Feasibility Study of Automated Natural Language Requirements Analysis in Market-Driven Development , 2002, Requirements Engineering.

[4]  Carl K. Chang,et al.  Automating performance-related impact analysis through event based traceability , 2003, Requirements Engineering.

[5]  Betty H. C. Cheng,et al.  Retrieval by Construction: a Traceability Technique to Support Verification and Validation of Uml Formalizations , 2005, Int. J. Softw. Eng. Knowl. Eng..

[6]  E. Ras,et al.  Self-organized Reuse of Software Engineering Knowledge Supported by Semantic Wikis , 2005 .

[7]  Orlena Cara Zena Gotel,et al.  Contribution structures for requirements traceability , 1995 .

[8]  Paul Grünbacher,et al.  Automating Software Traceability in Very Small Companies: A Case Study and Lessons Learne , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[9]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[10]  Nicolas Anquetil,et al.  A Model-Driven Traceability Framework to Software Product Line Development , 2008 .

[11]  Balasubramaniam Ramesh,et al.  Factors influencing requirements traceability practice , 1998, CACM.

[12]  Eila Niemelä,et al.  Tool support for traceable product evolution , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[13]  Mikael Lindvall A study of traceability in object-oriented systems development , 1994 .

[14]  Richard N. Taylor,et al.  An end-to-end industrial software traceability tool , 2007, ESEC-FSE '07.

[15]  Joseph A. Goguen,et al.  Formality and Informality in Requirements Engineering , 1996, ICRE.

[16]  Jon Oldevik,et al.  Scenarios of Traceability in Model to Text Transformations , 2007, ECMDA-FA.

[17]  Jane Huffman Hayes,et al.  Advancing candidate link generation for requirements tracing: the study of methods , 2006, IEEE Transactions on Software Engineering.

[18]  R. Paige,et al.  On-Demand Merging of Traceability Links with Models , 2006 .

[19]  M. Riebisch,et al.  Defining a Traceability Link Semantics for Design Decision Support , 2008 .

[20]  Juan Garbajosa,et al.  Analyzing and Systematizing Current Traceability Schemas , 2006, 2006 30th Annual IEEE/NASA Software Engineering Workshop.

[21]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[22]  Alberto Rodrigues da Silva,et al.  RT-MDD Framework – A Practical Approach , 2007 .

[23]  Jon Oldevik,et al.  Traceability in Model to Text Transformations , 2006 .

[24]  Rick Dewar,et al.  The Ophelia Traceability Layer , 2002 .

[25]  Steven P. Reiss Incremental Maintenance of Software Artifacts , 2006, IEEE Trans. Software Eng..

[26]  Nicolas Anquetil,et al.  Traceability for Model Driven, Software Product Line Engineering , 2008 .

[27]  Bernd Bruegge,et al.  Supporting Informal Meetings in Requirements Engineering , 2001 .

[28]  J. Simpson,et al.  The Oxford English Dictionary , 1884 .

[29]  Michael R. Lowry,et al.  Amphion/NAV: deductive synthesis of state estimation software , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[30]  Andrew Dillon,et al.  Design rationale: Concepts, techniques, and use , 1997 .

[31]  Balasubramaniam Ramesh,et al.  Requirements traceability: Theory and practice , 1997, Ann. Softw. Eng..

[32]  Standard Glossary of Software Engineering Terminology , 1990 .

[33]  Balasubramaniam Ramesh,et al.  Implementing requirements traceability: a case study , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[34]  Andrian Marcus,et al.  Recovery of Traceability Links between Software Documentation and Source Code , 2005, Int. J. Softw. Eng. Knowl. Eng..

[35]  Kenneth M. Anderson,et al.  A Framework for Mapping Traceability Relationships , 2003 .

[36]  Dick C. A. Bulterman,et al.  The Amsterdam hypermedia model: adding time and context to the Dexter model , 1994, CACM.

[37]  François Bodart,et al.  ARBAS: A Formal Language to Support Argumentation in Network-Based Organizations , 1997, J. Manag. Inf. Syst..

[38]  David F. Redmiles,et al.  Bridging the gap between technical and social dependencies with Ariadne , 2005, eclipse '05.

[39]  Kannan Mohan,et al.  Managing variability with traceability in product and service families , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[40]  Daniela Damian,et al.  Visualizing a Requirements-centred Social Network to Maintain Awareness Within Development Teams , 2006, 2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop).

[41]  Ipek Ozkaya,et al.  Representing Requirement Relationships , 2006, 2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop).

[42]  Klaus Pohl,et al.  PRO-ART: enabling requirements pre-traceability , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[43]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[44]  J. Dick Rich Traceability , 2002 .

[45]  David N. Card,et al.  Designing software for producibility , 1992, J. Syst. Softw..

[46]  Anne Persson,et al.  Requirements Interdependencies: State of the Art and Future Challenges , 2005 .

[47]  Elliot J. Chikofsky,et al.  CASE: reliability engineering for information systems , 1988, IEEE Software.

[48]  Steffen Zschaler,et al.  Application of Tracing Techniques in Model-Driven Performance Engineering , 2008 .

[49]  Jane Cleland-Huang,et al.  A heterogeneous solution for improving the return on investment of requirements traceability , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[50]  Kenneth M. Anderson,et al.  Towards automating traceability: an incremental and scalable approach , 2005 .

[51]  Richard Stevens,et al.  Requirements Traceability , 1997, RE.

[52]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

[53]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[54]  Jeff Green,et al.  Automating traceability for generated software artifacts , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[55]  Olly Gotel,et al.  Macro-level Traceability Via Media Transformations , 2008, REFSQ.

[56]  Andrea Zisman,et al.  XTraQue: traceability for product line systems , 2009, Software & Systems Modeling.

[57]  Peng Xu,et al.  Supporting dynamic group decision and negotiation processes: A traceability augmented peer-to-peer network approach , 2006, Inf. Manag..

[58]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[59]  Arda Goknil,et al.  Survey of Traceability Approaches in Model-Driven Engineering , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[60]  Ilka Philippow,et al.  Customizing Traceability Links for the Unified Process , 2007, QoSA.

[61]  Stefan Biffl,et al.  A case study on value-based requirements tracing , 2005, ESEC/FSE-13.

[62]  Arie van Deursen,et al.  Can LSI help reconstructing requirements traceability in design and test? , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[63]  Hermann Kaindl,et al.  Semiautomatic generation of glossary links: a practical solution , 1999, HYPERTEXT '99.

[64]  Ivar Jacobson,et al.  Object-oriented development in an industrial environment , 1987, OOPSLA '87.

[65]  Björn Regnell,et al.  A linguistic-engineering approach to large-scale requirements management , 2005, IEEE Software.

[66]  Hermann Kaindl,et al.  Tracing All Around in Reengineering , 2002, IEEE Softw..

[67]  Clémentine Nebut,et al.  Towards a Traceability Framework for Model Transformations in Kermeta , 2006 .

[68]  Mark Neal,et al.  Why and how of requirements tracing , 1994, IEEE Software.

[69]  Peter Sawyer,et al.  Identifying tacit knowledge-based requirements , 2006, IEE Proc. Softw..

[70]  Stefan Biffl,et al.  Value-Based Requirements Traceability: Lessons Learned , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[71]  Dewayne E. Perry,et al.  Recovering and using use-case-diagram-to-source-code traceability links , 2007, ESEC-FSE '07.

[72]  Jane Cleland-Huang,et al.  Utilizing supporting evidence to improve dynamic requirements traceability , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[73]  Jon Oldevik,et al.  Improving Traceability in Model-Driven Development of Business Applications , 2007 .

[74]  Ethan V. Munson,et al.  Concordance, conformance, versions, and traceability , 2005, TEFSE '05.

[75]  Stephen Clark,et al.  Best Practices for Automated Traceability , 2007, Computer.

[76]  Ivan Herman,et al.  Graph Visualization and Navigation in Information Visualization: A Survey , 2000, IEEE Trans. Vis. Comput. Graph..

[77]  Arie van Deursen,et al.  Reconstructing requirements coverage views from design and test using traceability recovery via LSI , 2005, TEFSE '05.

[78]  Jonathan I. Maletic,et al.  An XML based approach to support the evolution of model-to-model traceability links , 2005, TEFSE '05.

[79]  B. Ramesh,et al.  Issues in the development of a requirements traceability model , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[80]  Frédéric Jouault Loosely Coupled Traceability for ATL , 2005 .

[81]  Jean Bézivin,et al.  Modeling in the Large and Modeling in the Small , 2003, MDAFA.

[82]  Pieter Van Gorp,et al.  Towards 2D Traceability in a Platform for Contract Aware Visual Transformations with Tolerated Inconsistencies , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference (EDOC'06).

[83]  A.J.M. Tilbury Enabling software traceability , 1989 .

[84]  Giuliano Antoniol,et al.  Maintaining traceability links during object‐oriented software evolution , 2001, Softw. Pract. Exp..

[85]  Andy Schürr,et al.  MDI: A Rule-based Multi-document and Tool Integration Approach , 2006, Software & Systems Modeling.

[86]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[87]  Darijus Strašunskas Traceability in Collaborative Systems Development from Lifecycle Perspective – A Position Paper , 2002 .

[88]  J. Cleland-Huang,et al.  Visual Support In Automated Tracing , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[89]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[90]  Jane Huffman Hayes,et al.  A Framework for Comparing Requirements Tracing Experiments , 2005, Int. J. Softw. Eng. Knowl. Eng..

[91]  Alexander Egyed,et al.  Supporting Software Understanding with Automated Requirements Traceability , 2005, Int. J. Softw. Eng. Knowl. Eng..

[92]  Richard F. Paige,et al.  Building Model-Driven Engineering Traceability Classifications , 2008 .

[93]  Ståle Walderhaug,et al.  Towards a Generic Solution for Traceability in MDD , 2006 .

[94]  Matthias Jarke,et al.  Information Systems Quality and Quality Informations Systems , 1992, The Impact of Computer Supported Technologies in Information Systems Development.

[95]  Wouter Joosen,et al.  UniTI: a unified transformation infrastructure , 2007, MODELS'07.

[96]  Anne Etien,et al.  Fine Grained Traceability for an MDE Approach of Embedded System Conception , 2008 .

[97]  Xiaoping Jia,et al.  An Agile Approach to Captur ing Requirements and Traceability , 2003 .

[98]  Matthias Jarke,et al.  Improving reviews by extended traceability , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[99]  Wolfgang Emmerich,et al.  Flexible consistency checking , 2003, TSEM.

[100]  Tom Mens,et al.  Using Description Logic to Maintain Consistency between UML Models , 2003, UML.

[101]  Antje von Knethen,et al.  QuaTrace: a tool environment for (semi-) automatic impact analysis based on traces , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[102]  Jens von Pilgrim,et al.  Mental Map and Model Driven Development , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[103]  Wouter Joosen,et al.  Traceability as input for model transformations , 2007 .

[104]  Klaus Pohl,et al.  Adapting traceability environments to project-specific needs , 1998, CACM.

[105]  Nuno Jardim Nunes,et al.  Practitioner Tools and Workstyles for User-Interface Design , 2007, IEEE Software.

[106]  B. Parker Introducing ANSI-X3.138-1988: a standard for information resource dictionary system (IRDS) , 1992, [1992] Proceedings of the Second Symposium on Assessment of Quality Software Development Tools.

[107]  Ian F. Alexander,et al.  A Taxonomy of Stakeholders: Human Roles in System Development , 2005, Int. J. Technol. Hum. Interact..

[108]  Ilka Philippow,et al.  Rule-Based Maintenance of Post-Requirements Traceability Relations , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[109]  Jane Cleland-Huang,et al.  Phrasing in Dynamic Requirements Trace Retrieva , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[110]  Jane Cleland-Huang,et al.  Poirot: A Distributed Tool Supporting Enterprise-Wide Automated Traceability , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[111]  Matthias Jarke,et al.  The NATURE of Requirements Engineering , 1999 .

[112]  Olga Ormandjieva,et al.  Models Derived from Automatically Analyzed Textual User Requirements , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[113]  Jos L. M. Vrancken,et al.  Model-Driven User Requirements Specification using SysML , 2008, J. Softw..

[114]  Yann-Gaël Guéhéneuc,et al.  On feature traceability in object oriented programs , 2005, TEFSE '05.

[115]  Alexander Egyed Tailoring Software Traceability to Value-Based Needs , 2006, Value-Based Software Engineering.

[116]  Genny Tortora,et al.  ADAMS Re-Trace: a traceability recovery tool , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[117]  Ivan Kurtev,et al.  Change Impact Analysis based on Formalization of Trace Relations for Requirements , 2008 .

[118]  Richard N. Taylor,et al.  Chimera: hypermedia for heterogeneous software development enviroments , 2000, TOIS.

[119]  Juan Garbajosa Sopeña,et al.  The Need for a Unifying Traceability Scheme , 2005 .

[120]  George Spanoudakis,et al.  Software Traceability : A Roadmap , 2005 .

[121]  Henry Muccini,et al.  A scoped approach to traceability management , 2009, J. Syst. Softw..

[122]  Shih-Chien Chou,et al.  Consistency management in a process environment , 1999, J. Syst. Softw..

[123]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[124]  Juan Hernández,et al.  Analysis of crosscutting across software development phases based on traceability , 2006, EA '06.

[125]  Joseph A. Goguen,et al.  An Object-Oriented Tool for Tracing Requirements , 1996, IEEE Softw..

[126]  Cláudia Maria Lima Werner,et al.  Continuous and automated evolution of architecture-to-implementation traceability links , 2008, Automated Software Engineering.

[127]  Mehrdad Sabetzadeh,et al.  Traceability in viewpoint merging: a model management perspective , 2005, TEFSE '05.

[128]  Yolande Berbers,et al.  Constructing and Visualizing Transformation Chains , 2008, ECMDA-FA.

[129]  Andrzej Jaszkiewicz,et al.  Open Platform for Distributed Software Development , 2004 .

[130]  Jane Cleland-Huang,et al.  Visualization and Analysis in Automated Trace Retrieval , 2006, 2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop).

[131]  Robert A. Pierce,et al.  A Requirements Tracing Tool , 1978 .

[132]  Klaus Pohl,et al.  HYDRA: A Hypertext Model for Structuring Informal Requirements Representations 1 , 1995 .

[133]  Pieter Van Gorp,et al.  CAViT: a Consistency Maintenance Framework based on Transformation Contracts , 2005, Transformation Techniques in Software Engineering.

[134]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[135]  Francisco A. C. Pinheiro Design of a hyper-environment for tracing object-oriented requirements , 1997 .

[136]  Jane Huffman Hayes,et al.  Humans in the traceability loop: can't live with 'em, can't live without 'em , 2005, TEFSE '05.

[137]  Patricio Letelier A Framework for Requirements Traceability in UML-based Projects , 2002 .

[138]  Marie-Pierre Gervais,et al.  Model Bus: Towards the Interoperability of Modelling Tools , 2003, MDAFA.

[139]  Darijus Strasunskas,et al.  Domain Model Driven Approach to Change Impact Assessment , 2004 .

[140]  Ethan V. Munson,et al.  On product versioning for hypertexts , 2005, SCM '05.

[141]  Thomas A. Alspaugh,et al.  Using scenarios to support traceability , 2005, TEFSE '05.

[142]  S. Rank,et al.  Active artefact management for distributed software engineering , 2002, Proceedings 26th Annual International Computer Software and Applications.

[143]  Olga Ormandjieva,et al.  Automatic Transition of Natural Language Software Requirements Specification into Formal Presentation , 2005, NLDB.

[144]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[145]  Thomas Olsson,et al.  Supporting traceability and inconsistency management between software artifacts , 2002, ICSE 2002.

[146]  Dimitris N. Chorafas,et al.  Information Resource Dictionary System (IRDS) , 1993 .

[147]  Darijus Strasunskas Domain Model-Centric Distributed Development: An approach to semantics-based change impact management , 2006 .

[148]  Jérôme Euzenat,et al.  Traceability between models and texts through terminology , 2001, Data Knowl. Eng..

[149]  Neil A. M. Maiden,et al.  What influences the requirements process in industry? A report on industrial practice , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[150]  Jane Huffman Hayes,et al.  Helping analysts trace requirements: an objective look , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[151]  Bikram Sengupta,et al.  Enabling Collaboration in Distributed Requirements Management , 2006, IEEE Software.

[152]  Roelf J. Wieringa,et al.  An Introduction to Requirements Traceability , 1995 .

[153]  Richard F. Paige,et al.  Engineering a DSL for Software Traceability , 2009, SLE.

[154]  Klaus Pohl,et al.  Process-Centered Requirements Engineering , 1996 .

[155]  Lionel C. Briand,et al.  Impact analysis and change management of UML models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[156]  Ethan V. Munson,et al.  The software concordance: a new software document management environment , 2003, SIGDOC '03.

[157]  Andrea Zisman,et al.  Rule-based generation of requirements traceability relations , 2004, J. Syst. Softw..

[158]  Jane Huffman Hayes,et al.  Technique Integration for Requirements Assessment , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[159]  S. Winkler On Usability in Requirements Trace Visualizations , 2008, 2008 Requirements Engineering Visualization.

[160]  Jean-Claude Derniame,et al.  Software Process: Principles, Methodology, and Technology , 1999, Lecture Notes in Computer Science.

[161]  Artur S. d'Avila Garcez,et al.  Revising Rules to Capture Requirements Traceability Relations: A Machine Learning Approach , 2003, SEKE.

[162]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[163]  Sanford Friedenthal,et al.  OMG Systems Modeling Language (OMG SysML™) Tutorial , 2008 .

[164]  Carl K. Chang,et al.  Event-Based Traceability for Managing Evolutionary Change , 2003, IEEE Trans. Software Eng..

[165]  Pete Sawyer,et al.  Finding Tacit Knowledge by Solving the Pre-Requirements Tracing Problem , 2005 .

[166]  Franz Lehner,et al.  Requirements Engineering as a Success Factor in Software Projects , 2001, IEEE Softw..

[167]  Yves Sorel,et al.  Model-Based Methodology for Requirements Traceability in Embedded Systems , 2007 .

[168]  Matthias Jarke,et al.  Requirements tracing , 1998, CACM.

[169]  Richard F. Paige,et al.  Process-centered review of object oriented software development methodologies , 2008, CSUR.

[170]  Denys Poshyvanyk,et al.  When and how to visualize traceability links? , 2005, TEFSE '05.

[171]  Jon Atle Gulla,et al.  Natural Language Analysis for Semantic Document Modeling , 2000, NLDB.

[172]  Atul Prakash,et al.  Support for Reusability in Genesis , 1988, IEEE Trans. Software Eng..

[173]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[174]  Erlend Stav,et al.  Traceability in Model-Driven Software Development , 2009 .

[175]  Balasubramaniam Ramesh,et al.  Traceability-based knowledge integration in group decision and negotiation activities , 2007, Decis. Support Syst..

[176]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[177]  Stefan Biffl,et al.  Modeling of Requirements Tracing , 2007, CEE-SET.

[178]  Jean Bézivin,et al.  Traceability and Provenance Issues in Global Model Management , 2007 .

[179]  Betty H. C. Cheng,et al.  UML formalization is a traceability problem , 2005, TEFSE '05.

[180]  Matthias Weber,et al.  Requirements for requirements management tools , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[181]  Vassilka Kirova,et al.  Effective requirements traceability: Models, tools, and practices , 2008, Bell Labs Technical Journal.

[182]  Steve Riddle,et al.  Overcoming the traceability benefit problem , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[183]  Udo Kelter,et al.  Tracing Model Elements , 2007, 2007 IEEE International Conference on Software Maintenance.