Establishing Multilevel Test-to-Code Traceability Links

被引:19
|
作者
White, Robert [1 ]
Krinke, Jens [1 ]
Tan, Raymond [1 ]
机构
[1] UCL, London, England
关键词
CONTINUOUS INTEGRATION; CHALLENGES; DEPLOYMENT; DELIVERY;
D O I
10.1145/3377811.3380921
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 and exploiting a synergistic flow of information between the method and class levels. An evaluation of TCtracer using four large, well-studied open source systems demonstrates that, on average, we can establish test-to-function links with a mean average precision (MAP) of 78% and test-class-to-class links with an MAP of 93%.
引用
收藏
页码:861 / 872
页数:12
相关论文
共 50 条
  • [21] Recovering Traceability Links Between Code and Documentation: A Retrospective
    Antoniol, Giulio
    Canfora, Gerardo
    Casazza, Gerardo
    De Lucia, Andrea
    Merlo, Ettore
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (03) : 825 - 832
  • [22] Visualizing Traceability Links between Source Code and Documentation
    Chen, Xiaofan
    Hosking, John
    Grundy, John
    2012 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), 2012, : 119 - 126
  • [23] Inferring Fine-grained Traceability Links between Java']Javadoc Comment and JUnit Test Code
    Kim, Jeewoong
    Hong, Shin
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, : 424 - 428
  • [24] Recovery of traceability links between software documentation and source code
    Marcus, A
    Maletic, JI
    Sergeyev, A
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2005, 15 (05) : 811 - 836
  • [25] Using Dynamic and Static Techniques to Establish Traceability Links Between Production Code and Test Code on Python']Python Projects: A Replication Study
    Chen, Zhifei
    Jia, Chiheng
    Li, Yanhui
    Chen, Lin
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2025, 37 (03)
  • [26] Exploration and Mining of Source Code Level Traceability Links on Stack Overflow
    Kicsi, Andras
    Rakoczi, Mark
    Vidacs, Laszlo
    ICSOFT: PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES, 2019, : 339 - 346
  • [27] Information retrieval models for recovering traceability links between code and documentation
    Antoniol, G
    Canfora, G
    Casazza, G
    De Lucia, A
    INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 40 - 49
  • [28] Recovering Traceability Links between Code and Documentation for Enterprise Project Artifacts
    Nagano, Shouichi
    Ichikawa, Yusuke
    Kobayashi, Toru
    2012 IEEE 36TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2012, : 11 - 18
  • [29] Recovering Traceability Links Between Code and Specification Through Domain Model Extraction
    Vinarek, Jiri
    Hnetynka, Petr
    Simko, Viliam
    Kroha, Petr
    ENTERPRISE AND ORGANIZATIONAL MODELING AND SIMULATION (EOMAS 2014), 2014, 191 : 187 - 201
  • [30] DCTracVis: a system retrieving and visualizing traceability links between source code and documentation
    Chen, Xiaofan
    Hosking, John
    Grundy, John
    Amor, Robert
    AUTOMATED SOFTWARE ENGINEERING, 2018, 25 (04) : 703 - 741