Context-Aware Regression Test Selection

被引:1
|
作者
Chen, Yizhen [1 ]
Chaudhari, Ninad [1 ]
Chen, Mei-Hwa [1 ]
机构
[1] SUNY Albany, Comp Sci Dept, Albany, NY 12222 USA
关键词
Selective regression testing; program invariants; FIREWALL;
D O I
10.1109/APSEC53868.2021.00050
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Most modern software systems are continuously evolving, with changes frequently taking place in the core components or the execution context. These changes can adversely introduce regression faults, causing previously working functions to fail. Regression testing is essential for maintaining the quality of evolving complex software, but it can be overly time-consuming when the size of the test suite is large, or the execution of the test cases takes a long time. There are extensive research studies on selective regression testing aiming at minimizing the size of the regression test suite while maximizing the detection of the regression faults. However, most of the existing techniques focus on the regression faults caused by the code changes, the impact of the context changes on the non-modified software has barely been explored. This paper presents a context-aware regression test selection (CARTS) approach that not only accounts for the modification of code but also changes in the execution context, including libraries, external APIs, and databases. After a change, CARTS uses the program invariants denoted in the pre- and postconditions of a function to determine if the function is affected by the change and selects all the test cases that executed the modified code as well as the non-modified functions whose preconditions are affected by the change. To evaluate the effectiveness of our approach, we conducted empirical studies on multi-release open-source software and case studies on real-world systems that have ongoing changes in code as well as in the execution context. The results of our controlled experiments show that with an average of 32.5% of the regression test cases, CARTS selected all the fault-revealing test cases. In the case studies, all the fault-revealing test cases were selected by using an average of 25.3% of the regression test suite. These results suggest that CARTS can be effective for selecting fault-revealing test cases for both code and execution context changes.
引用
收藏
页码:431 / 440
页数:10
相关论文
共 50 条
  • [1] Context-Aware Feature Selection and Classification
    Wang, Juanyan
    Bilgic, Mustafa
    [J]. PROCEEDINGS OF THE THIRTY-SECOND INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, IJCAI 2023, 2023, : 4317 - 4325
  • [2] Context-aware HCI service selection
    Shen, Yao
    Wang, Minjie
    Tang, Xiaoxin
    Luo, Yi
    Guo, Minyi
    [J]. MOBILE INFORMATION SYSTEMS, 2012, 8 (03) : 231 - 254
  • [3] A Context-aware supplier selection model
    Razzazi, Mohammadreza
    Bayat, Maryam
    [J]. World Academy of Science, Engineering and Technology, 2009, 38 : 736 - 742
  • [4] Context-Aware Test Case Adaptation
    Sun, Peiyi
    [J]. ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 1259 - 1261
  • [5] Context-Aware Regression from Distributed Sources
    Allende-Cid, Hector
    Moraga, Claudio
    Allende, Hector
    Monge, Raul
    [J]. INTELLIGENT DISTRIBUTED COMPUTING VII, 2014, 511 : 17 - 22
  • [6] Context-aware privacy design pattern selection
    Pearson, Siani
    Shen, Yun
    [J]. HP Laboratories Technical Report, 2010, (74):
  • [7] Context-Aware Privacy Design Pattern Selection
    Pearson, Siani
    Shen, Yun
    [J]. TRUST, PRIVACY AND SECURITY IN DIGITAL BUSINESS, 2010, 6264 : 69 - 80
  • [8] Context-aware Intelligent Model Selection System
    Wolf, Elke
    Sundaram, David
    [J]. AMCIS 2017 PROCEEDINGS, 2017,
  • [9] A relationship-aware methodology for context-aware service selection
    Kwon, Ohbyung
    Lee, Namyeon
    [J]. EXPERT SYSTEMS, 2011, 28 (04) : 375 - 390
  • [10] Efficient Context-Aware Selection Based on User Feedback
    Lee, Byoung-Hoon
    Kim, Deok-Hwan
    [J]. IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, 2012, 58 (03) : 978 - 984