An Extensive Study of Static Regression Test Selection in Modern Software Evolution

被引:87
|
作者
Legunsen, Owolabi [1 ]
Hariri, Farah [1 ]
Shi, August [1 ]
Lu, Yafeng [2 ]
Zhang, Lingming [2 ]
Marinov, Darko [1 ]
机构
[1] Univ Illinois, Dept Comp Sci, Champaign, IL 61801 USA
[2] Univ Texas Dallas, Dept Comp Sci, Richardson, TX 75083 USA
关键词
regression test selection; static analysis; class firewall;
D O I
10.1145/295029.2950361
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Regression test selection (RTS) aims to reduce regression testing time by only re-running the tests affected by code changes. Prior research on RTS can be broadly split into dynamic and static techniques. A recently developed dynamic RTS technique called Ekstazi is gaining some adoption in practice, and its evaluation shows that selecting tests at a coarser, class-level granularity provides better results than selecting tests at a finer, method-level granularity. As dynamic RTS is gaining adoption, it is timely to also evaluate static RTS techniques, some of which were proposed over three decades ago but not extensively evaluated on modern software projects. This paper presents the first extensive study that evaluates the performance benefits of static RTS techniques and their safety; a technique is safe if it selects to run all tests that may be affected by code changes. We implemented two static RTS techniques, one class-level and one method-level, and compare several variants of these techniques. We also compare these static RTS techniques against Ekstazi, a state-of-the-art, class-level, dynamic RTS technique. The experimental results on 985 revisions of 22 open-source projects show that the class-level static RTS technique is comparable to Ekstazi, with similar performance benefits, but at the risk of being unsafe sometimes. In contrast, the method-level static RTS technique performs rather poorly.
引用
收藏
页码:583 / 594
页数:12
相关论文
共 50 条
  • [21] An empirical study of regression test selection techniques
    Graves, TL
    Harrold, MJ
    Kim, JM
    Porter, A
    Rothermel, G
    PROCEEDINGS OF THE 1998 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1998, : 188 - 197
  • [22] A case study of the class firewall regression test selection technique on a large scale distributed software system
    Skoglund, M
    Runeson, P
    2005 INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING (ISESE), PROCEEDINGS, 2005, : 72 - 81
  • [23] Selection of regression test suite to validate software applications upon deployment of upgrades
    Pasala, Anjaneyulu
    Fung, Yannick L. H. Lew Yaw
    Akladios, Fad
    Appala, Raju G.
    Gorthi, Ravi P.
    ASWEC 2008: 19TH AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2008, : 130 - 138
  • [24] Decomposing Composite Changes for Code Review and Regression Test Selection in Evolving Software
    Guo, Bo
    Kwon, Young-Woo
    Song, Myoungkyu
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2019, 34 (02) : 416 - 436
  • [25] Component-based architectural regression test selection for modularized software systems
    Al-Refai, Mohammed
    Hammad, Mahmoud M.
    JOURNAL OF SYSTEMS ARCHITECTURE, 2025, 160
  • [26] Decomposing Composite Changes for Code Review and Regression Test Selection in Evolving Software
    Bo Guo
    Young-Woo Kwon
    Myoungkyu Song
    Journal of Computer Science and Technology, 2019, 34 : 416 - 436
  • [27] A Study of Regression Test Selection in Continuous Integration Environments
    Wang, Ting
    Yu, Tingting
    2018 29TH IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2018, : 135 - 143
  • [28] ReTEST: A Cost Effective Test Case Selection Technique for Modern Software Development
    Azizi, Maral
    Do, Hyunsook
    2018 29TH IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2018, : 144 - 154
  • [29] Automated code-based test selection for software product line regression testing
    Jung, Pilsu
    Kang, Sungwon
    Lee, Jihyun
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 158
  • [30] Automated Code-based Test Selection for Software Product Line Regression Testing
    Jung, Pilsu
    Kang, Sungwon
    Lee, Jihyun
    2020 46TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2020), 2020, : 184 - 184