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

被引:3
作者
Shimmi, Samiha [1 ]
Rahimi, Mona [1 ]
机构
[1] Nothtem Illinois Univ, Dept Comp Sci, De Kalb, IL 60115 USA
来源
2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2022) | 2022年
关键词
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
相关论文
共 60 条
[1]  
AgitarOne, US
[2]  
Alenezi M., 2019, Int. J. Innovative Technol. Exploring Eng., V9, P2737
[3]  
Alsolami N, 2019, INT J ADV COMPUT SC, V10, P89
[4]  
[Anonymous], The google closure compiler
[5]  
[Anonymous], US
[6]  
Apache, APACH ACC AP ACC
[7]   An experience report on applying software testing academic results in industry: we need usable automated test generation [J].
Arcuri, Andrea .
EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (04) :1959-1981
[8]   Automating Test-Suite Augmentation [J].
Bloem, Roderick ;
Koenighofer, Robert ;
Roeck, Franz ;
Tautschnig, Michael .
2014 14TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2014), 2014, :67-72
[9]   Supporting event based traceability through high-level recognition of change events [J].
Cleland-Huang, J ;
Chang, CK ;
Ge, YJ .
26TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, PROCEEDINGS, 2002, :595-600
[10]   srcML: An Infrastructure for the Exploration, Analysis, and Manipulation of Source Code A Tool Demonstration [J].
Collard, Michael L. ;
Decker, Michael John ;
Maletic, Jonathan I. .
2013 29TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2013, :516-519