TCTracer: Establishing test-to-code traceability links using dynamic and static techniques

被引:0
作者
Robert White
Jens Krinke
机构
[1] University College London,UCL Computer Science
来源
Empirical Software Engineering | 2022年 / 27卷
关键词
Software testing; Traceability; Software development; Software engineering;
D O I
暂无
中图分类号
学科分类号
摘要
Test-to-code traceability links model the relationships between test artefacts and code artefacts. When utilised during the development process, these links help developers to keep test code in sync with tested code, reducing the rate of test failures and missed faults. Test-to-code traceability links can also help developers to maintain an accurate mental model of the system, reducing the risk of architectural degradation when making changes. However, establishing and maintaining these links manually places an extra burden on developers and is error-prone. This paper presents TCTracer, an approach and implementation for the automatic establishment of test-to-code traceability links. Unlike existing work, TCTracer operates at both the method level and the class level, allowing us to establish links between tests and functions, as well as between test classes and tested classes. We improve over existing techniques by combining an ensemble of new and existing techniques that utilise both dynamic and static information and exploiting a synergistic flow of information between the method and class levels. An evaluation of TCTracer using five large, well-studied open source systems demonstrates that, on average, we can establish test-to-function links with a mean average precision (MAP) of 85% and test-class-to-class links with an MAP of 92%.
引用
收藏
相关论文
共 55 条
[1]  
Aljawabrah N(2021)Automated recovery and visualization of test-to-code traceability (TCT) links: an evaluation IEEE Access 9 40111-40123
[2]  
Gergely T(2018)A survey of machine learning for big code and naturalness ACM Comput Surv (CSUR) 51 81-983
[3]  
Misra S(2002)Recovering traceability links between code and documentation IEEE Trans Softw Eng 28 970-822
[4]  
Fernandez-Sanz L(2019)Differences between a static and a dynamic test-to-code traceability recovery method Softw Qual J 27 797-710
[5]  
Allamanis M(1966)Binary codes capable of correcting deletions, insertions, and reversals Sov Phys Doklady 10 707-103
[6]  
Barr ET(2010)Introduction to information retrieval Nat Lang Eng 16 100-926
[7]  
Devanbu P(2014)Achievements and challenges in state-of-the-art software traceability between test and code artifacts IEEE Trans Reliab 63 913-1191
[8]  
Sutton C(2013)Evaluating test-to-code traceability recovery methods through controlled experiments J Softw Evol Process 25 1167-168
[9]  
Antoniol G(2014)Recovering test-to-code traceability using slicing and textual analysis J Syst Softw 88 147-3943
[10]  
Canfora G(2017)Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices IEEE Access 5 3909-2032