{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,3]],"date-time":"2026-06-03T11:43:05Z","timestamp":1780486985986,"version":"3.54.1"},"reference-count":41,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T00:00:00Z","timestamp":1597104000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T00:00:00Z","timestamp":1597104000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2020,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Trace links between requirements and code are beneficial for many software engineering tasks such as maintenance, program comprehension, and re-engineering. If trace links are created and used continuously during a project, they need to have high precision and recall to be useful. However, manual trace link creation is cumbersome and existing automatic trace link creation methods are typically only applied retrospectively and to structured requirements. Therefore, they focus on recall and accept manual effort to cope with low precision. Such manual effort is not acceptable continuously. Furthermore, the maintenance of existing links along with changing artefacts in a project is neglected in most automatic trace link creation approaches. Therefore, we developed and evaluated an interaction log-based trace link creation approach<jats:italic>IL<\/jats:italic>to continuously provide correct trace links during a project.<jats:italic>IL<\/jats:italic>links unstructured requirements specified in an issue tracker and source code managed in a version control system. In the latest version,<jats:italic>I<\/jats:italic><jats:italic>L<\/jats:italic><jats:sub><jats:italic>C<\/jats:italic><jats:italic>o<\/jats:italic><jats:italic>m<\/jats:italic><\/jats:sub>, our approach uses the interactions of developers with files in an integrated development environment and issue identifiers provided in commit messages to create trace links continuously after each commit. In this paper, we present<jats:italic>I<\/jats:italic><jats:italic>L<\/jats:italic><jats:sub><jats:italic>C<\/jats:italic><jats:italic>o<\/jats:italic><jats:italic>m<\/jats:italic><\/jats:sub>, its most recent evaluation study, and a systematic literature review (SLR) about trace link maintenance (TM). We also present a TM process for<jats:italic>I<\/jats:italic><jats:italic>L<\/jats:italic><jats:sub><jats:italic>C<\/jats:italic><jats:italic>o<\/jats:italic><jats:italic>m<\/jats:italic><\/jats:sub>based on two approaches from our SLR. In the evaluation study, we show that precision of<jats:italic>I<\/jats:italic><jats:italic>L<\/jats:italic><jats:sub><jats:italic>C<\/jats:italic><jats:italic>o<\/jats:italic><jats:italic>m<\/jats:italic><\/jats:sub>created links is above 90% and recall almost at 80%. In the SLR, we discuss 16 approaches. Our approach is the first trace link creation approach with very good precision and recall and integrated trace maintenance.<\/jats:p>","DOI":"10.1007\/s10664-020-09831-w","type":"journal-article","created":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T15:13:00Z","timestamp":1597158780000},"page":"4350-4377","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":11,"title":["Interaction-based creation and maintenance of continuously usable trace links between requirements and source code"],"prefix":"10.1007","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6640-2956","authenticated-orcid":false,"given":"Paul","family":"H\u00fcbner","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Barbara","family":"Paech","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,8,11]]},"reference":[{"key":"9831_CR1","doi-asserted-by":"crossref","unstructured":"Armbrust O, Ocampo A, Munch J, Katahira M, Koishi Y, Miyamoto Y (2009) Establishing and maintaining traceability between large aerospace process standards. In: ICSE Workshop traceability in emerging forms of software engineering, pp 36\u201340","DOI":"10.1109\/TEFSE.2009.5069581"},{"key":"9831_CR2","doi-asserted-by":"crossref","unstructured":"Bird C, Rigby PC, Barr ET, Hamilton DJ, Germa\u0307n DM, Devanbu PT (2009) The promises and perils of mining git. In: Mining software repositories (MSR), pp 1\u201310","DOI":"10.1109\/MSR.2009.5069475"},{"key":"9831_CR3","doi-asserted-by":"crossref","unstructured":"Blouin D, Barkowski M, Schneider M, Giese H, Dyck J, Borde E, Tamzalit D, Noppen J (2017) A Semi-Automated approach for the Co-Refinement of requirements and architecture models. In: 25th IEEE international requirements engineering conference workshops (REW). IEEE, pp 36\u201345","DOI":"10.1109\/REW.2017.52"},{"issue":"6","key":"9831_CR4","doi-asserted-by":"publisher","first-page":"1565","DOI":"10.1007\/s10664-013-9255-y","volume":"19","author":"M Borg","year":"2014","unstructured":"Borg M, Runeson P, Ard\u00f6 A (2014) Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability. Empir Softw Eng 19(6):1565\u20131616","journal-title":"Empir Softw Eng"},{"issue":"1","key":"9831_CR5","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2559978","volume":"23","author":"L Briand","year":"2014","unstructured":"Briand L, Falessi D, Nejati S, Sabetzadeh M, Yue T (2014) Traceability and sysML design slices to support safety inspections: A controlled experiment. ACM Trans Softw Eng Methodol (TOSEM) 23(1):1\u201343","journal-title":"ACM Trans Softw Eng Methodol (TOSEM)"},{"issue":"9","key":"9831_CR6","doi-asserted-by":"publisher","first-page":"796","DOI":"10.1109\/TSE.2003.1232285","volume":"29","author":"J Cleland-Huang","year":"2003","unstructured":"Cleland-Huang J, Chang CK, Christensen M (2003) Event-based traceability for managing evolutionary change. IEEE Trans Softw Eng 29(9):796\u2013810","journal-title":"IEEE Trans Softw Eng"},{"key":"9831_CR7","doi-asserted-by":"crossref","unstructured":"Cleland-Huang J, Ma\u0307der P, Mirakhorli M, Amornborvornwong S (2012) Breaking the big-bang practice of traceability Pushing timely trace recommendations to project stakeholders. In: 20th IEEE international requirements engineering conference (RE). IEEE, pp 231\u2013240","DOI":"10.1109\/RE.2012.6345809"},{"key":"9831_CR8","doi-asserted-by":"crossref","unstructured":"Cleland-Huang J, Gotel OCZ, Huffman Hayes J, M\u00e4der P, Zisman A (2014) Software traceability: trends and future directions. In: Future of software engineering (FOSE). ACM, pp 55\u201369","DOI":"10.1145\/2593882.2593891"},{"key":"9831_CR9","doi-asserted-by":"crossref","unstructured":"Drivalos-Matragkas N, Kolovos DS, Paige RF, Fernandes KJ (2010) A State-based Approach to Traceability Maintenance. In: 6th ECMFA traceability workshop (ECMFA-TW). ACM, pp 23\u201330","DOI":"10.1145\/1814392.1814396"},{"key":"9831_CR10","doi-asserted-by":"crossref","unstructured":"Ebner G, Kaindl H (2002) Tracing All Around in Reengineering. IEEE Software 19(3)","DOI":"10.1109\/MS.2002.1003459"},{"key":"9831_CR11","doi-asserted-by":"crossref","unstructured":"Fockel M, Holtmann J, Meyer J (2012) Semi-automatic establishment and maintenance of valid traceability in automotive development processes. In: 2nd international workshop software engineering for embedded systems (SEES), pp 37\u201343","DOI":"10.1109\/SEES.2012.6225489"},{"key":"9831_CR12","doi-asserted-by":"crossref","unstructured":"Gervasi V, Zowghi D (2014) Supporting traceability through affinity mining. In: 22nd IEEE international requirements engineering conference (RE). IEEE, pp 143\u2013152","DOI":"10.1109\/RE.2014.6912256"},{"key":"9831_CR13","doi-asserted-by":"crossref","unstructured":"Ghabi A, Egyed A (2012) Code patterns for automatically validating requirements-to-code traces. In: 27th IEEE\/ACM international conference on automated software engineering, pp 200\u2013209","DOI":"10.1145\/2351676.2351705"},{"key":"9831_CR14","doi-asserted-by":"crossref","unstructured":"Herzig K, Zeller A (2013) The impact of tangled code changes. In: Mining software repositories (MSR). IEEE, pp 121\u2013130","DOI":"10.1109\/MSR.2013.6624018"},{"key":"9831_CR15","unstructured":"H\u00fcbner P., Paech B (2017) Using interaction data for continuous creation of trace links between source code and requirements in issue tracking systems. In: Requirements engineering: Foundation for software quality (REFSQ). Springer, pp 291\u2013307"},{"key":"9831_CR16","unstructured":"H\u00fcbner P, Paech B (2018) Evaluation of techniques to detect wrong interaction based trace links. In: Requirements engineering: Foundation for software quality (REFSQ). Springer, pp 75\u201391"},{"key":"9831_CR17","unstructured":"H\u00fcbner P, Paech B (2019) Increasing precision of automatically generated trace links. In: Requirements engineering: Foundation for software quality (REFSQ). Springer, pp 73\u201389"},{"issue":"1","key":"9831_CR18","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1109\/TSE.2006.3","volume":"32","author":"J Huffman Hayes","year":"2006","unstructured":"Huffman Hayes J, Dekhtyar A, Sundaram SK (2006) Advancing candidate link generation for requirements tracing The study of methods. IEEE Trans Softw Eng 32(1):4\u201319","journal-title":"IEEE Trans Softw Eng"},{"key":"9831_CR19","doi-asserted-by":"crossref","unstructured":"Kersten M, Murphy GC (2006) Using task context to improve programmer productivity. In: 14th ACM SIGSOFT international symposium on foundations of software engineering (FSE), vol 14. ACM, pp 1\u201311","DOI":"10.1145\/1181775.1181777"},{"key":"9831_CR20","doi-asserted-by":"crossref","unstructured":"Kleffmann M, Book M, Gruhn V (2013) Towards recovering and maintaining trace links for model sketches across interactive displays. In: 7th international workshop traceability in emerging forms of software engineering (TEFSE), pp 23\u201329","DOI":"10.1109\/TEFSE.2013.6620150"},{"key":"9831_CR21","unstructured":"Kirinuki H, Higo Y, Hotta K, Kusumoto S (2014) Hey! Are You Committing Tangled Changes? In: 22nd International Conference on Program Comprehension (ICPC). ACM, pp 262\u2013265"},{"key":"9831_CR22","doi-asserted-by":"crossref","unstructured":"Kitchenham BA, Charters S (2007) Guidelines for performing Systematic Literature Reviews in Software Engineering. Technical Report Version 2.3, EBSE-2007-01, School of Computer Science and Mathematics, Keele University, and Department of Computer Science University of Durham","DOI":"10.1007\/11767718_3"},{"key":"9831_CR23","doi-asserted-by":"crossref","unstructured":"Kono\u0307pka M, Bielikov\u00e1 M (2015) Software Developer Activity as a Source for Identifying Hidden Source Code Dependencies. In: Theory & practice of computer science (SOFSEM). Springer, pp 449\u2013462","DOI":"10.1007\/978-3-662-46078-8_37"},{"issue":"2","key":"9831_CR24","doi-asserted-by":"publisher","first-page":"413","DOI":"10.1007\/s10664-014-9314-z","volume":"20","author":"P Ma\u0307der","year":"2015","unstructured":"Ma\u0307der P, Egyed A (2015) Do developers benefit from requirements traceability when evolving and maintaining a software system?. Empir Softw Eng 20(2):413\u2013441","journal-title":"Empir Softw Eng"},{"issue":"10","key":"9831_CR25","doi-asserted-by":"publisher","first-page":"2205","DOI":"10.1016\/j.jss.2011.10.023","volume":"85","author":"P Ma\u0307der","year":"2012","unstructured":"Ma\u0307der P, Gotel O (2012) Towards automated traceability maintenance. J Syst Softw 85(10):2205\u20132227","journal-title":"J Syst Softw"},{"key":"9831_CR26","doi-asserted-by":"crossref","unstructured":"Maalej W, Kurtanovic Z, Felfernig A (2014) What stakeholders need to know about requirements. In: 4th international workshop on empirical requirements engineering (empiRE). IEEE, pp 64\u201371","DOI":"10.1109\/EmpiRE.2014.6890118"},{"key":"9831_CR27","doi-asserted-by":"crossref","unstructured":"Maro S, Stegho\u0307fer J (2016) Capra: A configurable and extendable traceability management tool. In: 24th IEEE international requirements engineering conference (RE). IEEE, pp 407\u2013408","DOI":"10.1109\/RE.2016.19"},{"key":"9831_CR28","doi-asserted-by":"crossref","unstructured":"Maro S, Anjorin A, Wohlrab R, Stegho\u0307fer J (2016) Traceability maintenance: Factors and guidelines. In: 31th IEEE\/ACM international conference on automated software engineering (ASE), vol 31. ACM, pp 414\u2013425","DOI":"10.1145\/2970276.2970314"},{"key":"9831_CR29","doi-asserted-by":"crossref","unstructured":"Merten T, Falisy M, H\u00fcbner P, Quirchmayr T, B\u00fcrsner S, Paech B (2016a) Software Feature Request Detection in Issue Tracking Systems. In: 24th IEEE International Requirements Engineering Conference (RE). IEEE","DOI":"10.1109\/RE.2016.8"},{"key":"9831_CR30","doi-asserted-by":"crossref","unstructured":"Merten T, Kr\u00e4mer D, Mager B, Schell P, B\u00fcrsner S, Paech B (2016b) Do Information Retrieval Algorithms for Automated Traceability Perform Effectively on Issue Tracking System Data? In: Requirements Engineering: Foundation for Software Quality (REFSQ). Springer, pp 45\u201362","DOI":"10.1007\/978-3-319-30282-9_4"},{"key":"9831_CR31","doi-asserted-by":"crossref","unstructured":"Omoronyia I, Sindre G, Roper M, Ferguson J, Wood M (2009) Use case to source code Traceability: The developer navigation view point. In: 17th IEEE international requirements engineering conference (RE), pp 237\u2013242. IEEE","DOI":"10.1109\/RE.2009.26"},{"issue":"8","key":"9831_CR32","doi-asserted-by":"publisher","first-page":"851","DOI":"10.1016\/j.infsof.2011.03.001","volume":"53","author":"I Omoronyia","year":"2011","unstructured":"Omoronyia I, Sindre G, St\u00e5lhane T (2011) Exploring a Bayesian and linear approach to requirements traceability. Inform Softw Technol (IST) 53(8):851\u2013871","journal-title":"Inform Softw Technol (IST)"},{"issue":"4","key":"9831_CR33","doi-asserted-by":"publisher","first-page":"469","DOI":"10.1007\/s10270-010-0158-8","volume":"10","author":"RF Paige","year":"2011","unstructured":"Paige RF, Drivalos N, Kolovos DS, Fernandes KJ, Power C, Olsen GK, Zschaler S (2011) Rigorous identification and encoding of trace-links in model-driven engineering. Softw Syste Model 10(4):469","journal-title":"Softw Syste Model"},{"key":"9831_CR34","doi-asserted-by":"crossref","unstructured":"Rahimi M, Goss W, Cleland-Huang J (2016) Evolving Requirements-to-Code Trace Links across Versions of a Software System. In: IEEE International conference on software maintenance and evolution (ICSME), pp 99\u2013109","DOI":"10.1109\/ICSME.2016.57"},{"key":"9831_CR35","doi-asserted-by":"crossref","unstructured":"Rath M, Rempel P, Ma\u0307der P (2017) The IlmSeven Dataset. In: 25th IEEE international requirements engineering conference (RE). IEEE, pp 516\u2013519","DOI":"10.1109\/RE.2017.18"},{"key":"9831_CR36","doi-asserted-by":"crossref","unstructured":"Rath M, Rendall K, Guo JLC, Cleland-Huang J, M\u00e4der P (2018) Traceability in the Wild Automatically Augmenting Incomplete Trace Links. In: 40th international conference on software engineering (ICSE). ACM, pp 834\u2013845","DOI":"10.1145\/3180155.3180207"},{"key":"9831_CR37","doi-asserted-by":"crossref","unstructured":"Seibel A, Hebig R, Giese H (2012) Traceability in Model-Driven engineering efficient and scalable traceability maintenance. In: Software & systems traceability. Springer, pp 215\u2013240","DOI":"10.1007\/978-1-4471-2239-5_10"},{"issue":"4","key":"9831_CR38","doi-asserted-by":"publisher","first-page":"473","DOI":"10.1007\/s10270-009-0141-4","volume":"9","author":"H Schwarz","year":"2009","unstructured":"Schwarz H, Ebert J, Winter A (2009) Graph-based traceability: a comprehensive approach. Softw Syst Model 9(4):473\u2013492","journal-title":"Softw Syst Model"},{"key":"9831_CR39","doi-asserted-by":"crossref","unstructured":"Soh Z, Khomh F, Gu\u00e9h\u00e9neuc Y, Antoniol G (2017) Noise in Mylyn interaction traces and its impact on developers and recommendation systems. Empirical Software Engineering","DOI":"10.1007\/s10664-017-9529-x"},{"key":"9831_CR40","doi-asserted-by":"crossref","unstructured":"Wohlrab R, Stegho\u0307fer J, Knauss E, Maro S, Anjorin A (2016) Collaborative traceability Management: Challenges and opportunities. In: 24th IEEE international requirements engineering conference (RE).. IEEE, pp 216\u2013225","DOI":"10.1109\/RE.2016.17"},{"key":"9831_CR41","doi-asserted-by":"crossref","unstructured":"Ying P, Yong T, Xiaoping Y (2009) Software artifacts management based on dataspace. In: WASE International conference on information engineering (ICIE), vol 2. IEEE, pp 214\u2013217","DOI":"10.1109\/ICIE.2009.227"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09831-w.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-020-09831-w\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09831-w.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,11,6]],"date-time":"2022-11-06T15:03:33Z","timestamp":1667747013000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-020-09831-w"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,8,11]]},"references-count":41,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2020,9]]}},"alternative-id":["9831"],"URL":"https:\/\/doi.org\/10.1007\/s10664-020-09831-w","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,8,11]]},"assertion":[{"value":"11 August 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}