Software Traceability : A Roadmap

Traceability of software artefacts has been recognised as an important factor for supporting various activities in the software system development process. In general, the objective of traceability is to improve the quality of software systems. More specifically, traceability information can be used to support the analysis of implications and integration of changes that occur software systems; the maintenance and evolution of software systems; the reuse of software system components by identifying and comparing requirements of new and existing systems; the testing of software system components; and system inspection, by indicating alternatives and compromises made during development. Traceability enables system acceptance by allowing users to better understand the system and contributes to a clear and consistent system documentation. Over the last few years, the software and system engineering communities have developed a large number of approaches and techniques to address various aspects of traceability. Research into software traceability has been mainly concerned with the study and definition of different types of traceability relations; support for the generation of traceability relations; development of architectures, tools, and environments for the representation and maintenance of traceability relations; and empirical investigations into organisational practices regarding the establishment and deployment of traceability relations in the software development life cycle. However, despite its importance and the work resulted from numerous years of research, empirical studies of traceability needs and practices in industrial organisations have indicated that traceability support is not always satisfactory. As a result, traceability is rarely established in existing industrial settings. In this article, we present a roadmap of research and practices related to software traceability and identify issues that are still open for further research. Our roadmap is organised according to the main topics that have been the focus of software traceability research.

[1]  Francisco A. C. Pinheiro Formal and Informal Aspects of Requirements Tracing , 2000, WER.

[2]  Jeffrey D. Smith,et al.  Hypermedia support for collaboration in requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[3]  Virginie Wiels,et al.  V&V through inconsistency tracking and analysis , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[4]  Xiping Song,et al.  Lessons learned from building a Web-based requirements tracing system , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[5]  Andrian Marcus,et al.  Recovering documentation-to-source-code traceability links using latent semantic indexing , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[6]  Mikael Lindvall,et al.  Practical implications of traceability , 1996 .

[7]  Andrea Zisman,et al.  A Traceability Approach for i* and UML Models , 2003 .

[8]  Mikael Lindvall,et al.  Practical Implications of Traceability , 1996, Softw. Pract. Exp..

[9]  Barbara Paech,et al.  Systematic requirements recycling through abstraction and traceability , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[10]  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.

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

[12]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[14]  Luigi Lavazza,et al.  Requirements-Based Estimation of Change Costs , 2000, Empirical Software Engineering.

[15]  Jane Huffman Hayes,et al.  Improving requirements tracing via information retrieval , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[16]  J. Dick Rich Traceability , 2002 .

[17]  Paul Krause,et al.  Issues on the Composability of Requirements Specifications for a Product Family , 2002 .

[18]  Wolfgang Emmerich,et al.  Using XML to build consistency rules for distributed specifications , 2000, Tenth International Workshop on Software Specification and Design. IWSSD-10 2000.

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

[20]  J Savolainen,et al.  1 Tools for Design Rationale Documentation in the Development of a Product Family , 1998 .

[21]  Andrea Zisman,et al.  Are their design specifications consistent with our requirements? , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[22]  Hermann Kaindl,et al.  The missing link in requirements engineering , 1993, SOEN.

[23]  Joachim Bayer,et al.  Introducing Traceability to Product Lines , 2001, PFE.

[24]  Dominic A. Orchard,et al.  XML Linking Language (XLink) Version 1. 0. World Wide Web Consortium, Proposed Recommendation PR - x , 2000 .

[25]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[26]  Andrea Zisman,et al.  Tracing Software Requirements Artifacts , 2003, Software Engineering Research and Practice.

[27]  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.

[28]  Norman Wilde,et al.  Early field experience with the Software Reconnaissance technique for program comprehension , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[29]  Hyoseob Kim,et al.  Supporting the reconciliation of models of object behaviour , 2003, Software and Systems Modeling.

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

[31]  George Spanoudakis Plausible and adaptive requirement traceability structures , 2002, SEKE '02.

[32]  E. James Whitehead,et al.  An architectural model for application integration in open hypermedia environments , 1997, HYPERTEXT '97.

[33]  O. Gotel,et al.  Contribution Structures , 1995 .

[34]  Andrea Zisman,et al.  Towards a Traceability Approach for Product Families Requirements , 2002 .

[35]  Ian F. Alexander,et al.  Towards recyclable system requirements , 2002, Proceedings Ninth Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems.

[36]  Steve Riddle,et al.  Position Paper: Enabling Traceability , 2002 .

[37]  David Orchard,et al.  XML Linking Language (XLink) , 2001 .

[38]  Ani Thakar,et al.  Generating Validation Feedback for Automatic Interpretation of Informal Requirements , 1997, Formal Methods Syst. Des..

[39]  Mikael Lindvall,et al.  Traceability aspects of impact analysis in object-oriented systems , 1998, J. Softw. Maintenance Res. Pract..

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

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

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

[43]  Peng Xu,et al.  Supporting Workflow Management Systems with traceability , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[44]  Giuliano Antoniol,et al.  Identifying design-code inconsistencies in object-oriented software: a case study , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[45]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for exploratory policy discussion , 1988, CSCW '88.

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

[47]  Cornelia Boldyreff,et al.  Greater understanding through maintainer driven traceability , 1996, WPC '96. 4th Workshop on Program Comprehension.

[48]  Matthias Jarke,et al.  The software information base: A server for reuse , 2005, The VLDB Journal.

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

[50]  Ray Offen,et al.  A logical framework for modeling and reasoning about the evolution of requirements , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[51]  George Spanoudakis,et al.  Overlaps in Requirements Engineering , 1999, Automated Software Engineering.

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

[53]  Carl K. Chang,et al.  Supporting event based traceability through high-level recognition of change events , 2002, Proceedings 26th Annual International Computer Software and Applications.

[54]  Alexander Egyed,et al.  A Scenario-Driven Approach to Trace Dependency Analysis , 2003, IEEE Trans. Software Eng..

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

[56]  Ethan V. Munson,et al.  Using a Hypertext Model for Traceability Link Conformance Analysis , 2003 .

[57]  Andrea Zisman,et al.  Managing Inconsistencies in UML Specifications , 2003, SNPD.

[58]  Carl K. Chang,et al.  Automating speculative queries through event-based requirements traceability , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[59]  Alessandro Bianchi,et al.  An exploratory case study of the maintenance effectiveness of traceability models , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[60]  Andrian Marcus,et al.  Supporting program comprehension using semantic and structural information , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[61]  Steven J. DeRose,et al.  Xml linking language (xlink), version 1. 0 , 2000, WWW 2000.

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

[63]  Olly Gotel,et al.  Contribution structures [Requirements artifacts] , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

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

[65]  M. R. Strens,et al.  Change analysis: a step towards meeting the challenge of changing requirements , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[66]  Michael R. Lowry,et al.  Explaining synthesized software , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[67]  Ilka Philippow,et al.  Evolution of Product Lines Using Traceability , 2001 .