Exploiting Traceability Uncertainty between Architectural Models and Code

Documenting and maintaining the traceability between architectural models and code is one of the foremost challenges of model-based software development. Yet, traceability is rarely captured immediately while models and code co-evolve but usually recovered later. By then key people may have moved on or their recollection of facts may be blurred or inconsistent. In previous work, we proposed a language for capturing traceability that allows for uncertainty and incompleteness. This paper investigates this language on the unique properties that characterize model-to-code traceability. Our approach takes ambiguous, incomplete, and possibly incorrect assumptions about the traceability between model and code as input. It then validates the correctness of these assumptions and completes the input by inserting their logical consequences. This paper demonstrates the correctness and scalability of our approach which has been validated on several third-party software systems. Our approach is automated and fully tool supported.

[1]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[2]  Rainer Koschke,et al.  On dynamic feature location , 2005, ASE.

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

[4]  Harry S. Delugach,et al.  Dependency Analysis Using Conceptual Graphs , 2001 .

[5]  Lionel C. Briand,et al.  Automated impact analysis of UML models , 2006, J. Syst. Softw..

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

[7]  A. Jefferson Offutt,et al.  Algorithmic analysis of the impacts of changes to object-oriented software , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

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

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

[10]  Alexander Egyed,et al.  Identifying requirements conflicts and cooperation: how quality attributes and automated traceability can help , 2004, IEEE Software.

[11]  Alfred V. Aho,et al.  CERBERUS: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis , 2008, 2008 16th IEEE International Conference on Program Comprehension.

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

[13]  Paolo Tonella,et al.  Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis , 2003, IEEE Trans. Software Eng..

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

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

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

[17]  Giuliano Antoniol,et al.  Design-code traceability recovery: selecting the basic linkage properties , 2001, Sci. Comput. Program..

[18]  J. Jackson A keyphrase based traceability scheme , 1991 .

[19]  Siobhán Clarke,et al.  Subject-oriented design: towards improved alignment of requirements, design, and code , 1999, OOPSLA '99.

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

[21]  Jane Cleland-Huang,et al.  Clustering support for automated tracing , 2007, ASE '07.

[22]  Matthias Jarke,et al.  Improving reviews of conceptual models by extended traceability to captured system usage , 2000, Interact. Comput..

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

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

[25]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[26]  Stefan Biffl,et al.  Determining the cost-quality trade-off for automated software traceability , 2005, ASE.

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

[28]  Alexander Egyed,et al.  Resolving uncertainties during trace analysis , 2004, SIGSOFT '04/FSE-12.

[29]  Martin P. Robillard,et al.  Inferring structural patterns for concern traceability in evolving software , 2007, ASE.

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

[31]  Alexander Egyed,et al.  Automating requirements traceability: Beyond the record & replay paradigm , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

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

[33]  Jane Cleland-Huang,et al.  Goal-centric traceability for managing non-functional requirements , 2005, ICSE.

[34]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

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

[36]  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).

[37]  Giuseppe Visaggio,et al.  An experiment on the effect of design recording on impact analysis , 1994, Proceedings 1994 International Conference on Software Maintenance.