Patterns of Code-to-Test Co-evolution for Automated Test Suite Maintenance

被引:2
|
作者
Shimmi, Samiha [1 ]
Rahimi, Mona [1 ]
机构
[1] Nothtem Illinois Univ, Dept Comp Sci, De Kalb, IL 60115 USA
关键词
test suite maintenance; test suite evolution; automatic test case generation; patterns of co-evolution; TRACEABILITY;
D O I
10.1109/ICST53961.2022.00023
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software systems are characterized by continual change which often occurs concurrently across various artifact types. While prior work has focused on the evolution of individual artifacts, this paper studies the patterns of co-evolution between source and test code. In this research, with a reference to the literature, as well as our manual analysis of several open-source software systems we first, patternize and document common patterns of co-evolution between source code and test suites. Leveraging the proposed patterns, we further infer the necessary remedies in the test suite in response to source code changes. Our approach enables to add missing test cases to the current version of a system (augmentation), but additionally allows to reuse and evolve the existing test suite for a modified version of the system (evolution). Furthermore, identifying patterns of concurrent evolution provides opportunities for a bi-directional change detection and remediation for both artifacts, source code and test cases, and additionally automates the process of maintaining code-to-test trace links. The evaluation of the patterns and remedies in live large open-source applications indicated the patterns contained up to 42% of the source code changes and the remediation recovered up to 100% of the impacted test cases in certain cases.
引用
收藏
页码:116 / 127
页数:12
相关论文
共 50 条
  • [1] Leveraging Code-Test Co-evolution Patterns for Automated Test Case Recommendation
    Shimmi, Samiha
    Rahimi, Mona
    3RD ACM/IEEE INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST (AST 2022), 2022, : 65 - 76
  • [2] Studying Fine-Grained Co-Evolution Patterns of Production and Test Code
    Marsavina, Cosmin
    Romano, Daniele
    Zaidman, Andy
    2014 14TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2014), 2014, : 195 - 204
  • [3] Revisiting the Identification of the Co-evolution of Production and Test Code
    Sun, Weifeng
    Yan, Meng
    Liu, Zhongxin
    Xia, Xin
    Lei, Yan
    Lo, David
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (06)
  • [4] Understanding and Facilitating the Co-Evolution of Production and Test Code
    Wang, Sinan
    Wen, Ming
    Liu, Yepang
    Wang, Ying
    Wu, Rongxin
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2021), 2021, : 272 - 283
  • [5] The Co-Evolution of Test Maintenance and Code Maintenance through the lens of Fine-Grained Semantic Changes
    Levin, Stanislav
    Yehudai, Amiram
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 35 - 46
  • [6] A Retrospective of Production and Test Code Co-evolution in an Industrial Project
    Klammer, Claus
    Buchgeher, Georg
    Kern, Albin
    2018 IEEE 2ND INTERNATIONAL WORKSHOP ON VALIDATION, ANALYSIS AND EVOLUTION OF SOFTWARE TESTS (VST), 2018, : 16 - 20
  • [7] Automated testing of metamodels and code co-evolution
    Kebaili, Zohra Kaouter
    Khelladi, Djamel Eddine
    Acher, Mathieu
    Barais, Olivier
    SOFTWARE AND SYSTEMS MODELING, 2024, : 573 - 591
  • [8] Using Association Rules to Study the Co-evolution of Production & Test Code
    Lubsen, Zeeger
    Zaidman, Andy
    Pinzger, Martin
    2009 6TH IEEE INTERNATIONAL WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES, 2009, : 151 - 154
  • [9] Co-evolution Analysis of Production and Test Code by Learning Association Rules of Changes
    Vidacs, Laszlo
    Pinzger, Martin
    2018 IEEE WORKSHOP ON MACHINE LEARNING TECHNIQUES FOR SOFTWARE QUALITY EVALUATION (MALTESQUE), 2018, : 31 - 36
  • [10] Patterns of Co-evolution between Requirements and Source Code
    Rahimi, Mona
    Cleland-Huang, Jane
    2015 IEEE FIFTH INTERNATIONAL WORKSHOP ON REQUIREMENTS PATTERNS (REPA), 2015, : 25 - 31