Improving software traceability tools and processes
Abstract
Context: Development of large and complex software leads to a large number of interconnected artifacts such as requirements, design models, code and implementation. Traceability enables understanding and managing these artifacts as they evolve. However, establishing traceability is not trivial. It requires the development organization to design effective traceability strategies and provide tools to support the traceability activities. Establishing traceability in practice faces many challenges such as the amount of effort needed to establish traceability, unclear traceability processes and difficulty in measuring the benefits of traceability.
Objective: The overall objective of this research is to improve traceability processes and tools in software development. In this thesis we started with exploring the state of the art as well as the state of practice of traceability in order to identify persisting challenges and existing solutions. We then propose and implement solutions for four of the identified challenges: manual work of establishing traceability, lack of configurable tools, diverse artifacts and tools, and unclear traceability processes.
Method: To identify existing traceability challenges and solutions, we conducted a systematic tertiary literature review, a multi-vocal literature review, and a case study to understand how these challenges and solutions manifest in practice. To design solutions we took an empirical approach where we used case studies and design science for the different studies.
Results: Our results show that there are still many traceability challenges which are not solved by current solutions in literature due to practical constraints and limitations that exist especially in safety critical domains. To address the challenge of manual work needed to maintain trace links we propose a set of important factors and guidelines for traceability maintenance aimed at traceability tool developers and companies acquiring traceability tools. The feasibility of these factors and guidelines are demonstrated through a prototype implementation. The prototype implementation also shows how to design traceability solutions that are both configurable and support tracing to and from diverse artifacts and tools. To address the challenge of manual work in creating traceability links we have investigated how to improve the trace link vetting process as part of a way to transfer automated techniques of creating trace links to industry. We provide insights and lessons learned on how to improve the trace link vetting process. Lastly the thesis proposes a traceability introduction methodology (TracIMo), which consists of concrete steps that companies can take to design, deploy and evaluate traceability strategies.
Parts of work
S. Maro, J.-P. Steghöfer, M. Staron “Software traceability in the automotive domain: Challenges and solutions.” Journal of Systems and Software 141 (2018): 85-110. DOI: https://doi.org/10.1016/j.jss.2018.03.060 S. Maro, A. Anjorin, R. Wohlrab, J.-P. Steghöfer “Traceability Maintenance: Factors and Guidelines”
31st International Conference on Automated Software Engineering (ASE 2016), Singapore, Singapore, September 3-7, 2016. DOI:https://doi.org/10.1145/2970276.2970314 S. Maro, J.-P. Steghöfer “Capra: A Configurable and Extendable Traceability Management Tool”
24th International Conference on Requirements Engineering (RE2016), Beijing, China, September 12 - 16, 2016. DOI: https://doi.org/10.1109/RE.2016.19. S. Maro, J.-P. Steghöfer, J. Hayes, J. Cleland-Huang, M. Staron “Vetting automatically generated trace links: What information is useful to human analysts?.” DOI: https://doi.org/10.1109/RE.2018.00-52
26th International Requirements Engineering Conference (RE) 2018 Aug 20 (pp. 52-63). IEEE. S. Maro, E. Sundklev, C-O. Persson, G. Liebel, J.-P. Steghöfer “Impact of Gamification on Trace Link Vetting: A Controlled Experiment”. International Working Conference on Requirements Engineering: Foundation for Software Quality 2019 Mar 18 (pp. 90-105). Springer, Cham. DOI: https://doi.org/10.1007/978-3-030-15538-4_6 S. Maro, J.-P. Steghöfer, P. Bozzelli, H. Muccini “TracIMo: A Traceability Introduction Methodology and its Evaluation in an Agile Development
Team” Under revision at the Requirements Engineering Journal.
Degree
Doctor of Philosophy
University
Göteborgs universitet. IT-fakulteten
Institution
Department of Computer Science and Engineering ; Institutionen för data- och informationsteknik
Disputation
Thursday 3rd September, 2020, 9:00, Jupiter 473, CSE, SE Division, Campus Lindholmen. Also online via Zoom
Date of defence
2020-09-03
salome.maro@cse.gu.se
Date
2020-08-17Author
Maro, Salome
Keywords
Software Traceability
Traceability tools
Traceability processes
Publication type
Doctoral thesis
ISBN
978-91-8009-013-1
Series/Report no.
186D
Language
eng