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 条
  • [41] Software change impact analysis: an approach to differentiate type of change to minimise regression test selection
    Gupta, Chetna
    Srivastav, Maneesha
    Gupta, Varun
    INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 2015, 51 (04) : 366 - 375
  • [42] Test Selection for Unified Regression Testing
    Wang, Shuai
    Lian, Xinyu
    Marinov, Darko
    Xu, Tianyin
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 1687 - 1699
  • [43] A general regression test selection technique
    El-hamid, Walid S. Abd
    El-etriby, Sherif S.
    Hadhoud, Mohiy M.
    World Academy of Science, Engineering and Technology, 2010, 62 : 893 - 897
  • [44] Analyzing regression test selection techniques
    Rothermel, G
    Harrold, MJ
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (08) : 529 - 551
  • [45] Regression test selection techniques: A survey
    Biswas, Swarnendu
    Mall, Rajib
    Satpathy, Manoranjan
    Sukumaran, Srihari
    Informatica (Ljubljana), 2011, 35 (03) : 289 - 321
  • [46] A Regression Test Selection and Prioritization Technique
    Malhotra, Ruchika
    Kaur, Arvinder
    Singh, Yogesh
    JOURNAL OF INFORMATION PROCESSING SYSTEMS, 2010, 6 (02): : 235 - 252
  • [47] Regression test selection for testable classes
    Martins, E
    Vieira, VG
    DEPENDABLE COMPUTING - EDCC-5, PROCEEDINGS, 2005, 3463 : 453 - 470
  • [48] Regression Test Selection Techniques: A Survey
    Biswas, Swarnendu
    Mall, Rajib
    Satpathy, Manoranjan
    Sukumaran, Srihari
    INFORMATICA-JOURNAL OF COMPUTING AND INFORMATICS, 2011, 35 (03): : 289 - 321
  • [49] Regression Test Selection for Android Applications
    Do, Quan
    Yang, Guowei
    Che, Meiru
    Hui, Darren
    Ridgeway, Jefferson
    2016 IEEE/ACM INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2016), 2016, : 27 - 28
  • [50] The Effect of Test Suite Type on Regression Test Selection
    Dini, Nima
    Sullivan, Allison
    Gligoric, Milos
    Rothermel, Gregg
    2016 IEEE 27TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2016, : 47 - 58