Reinforcement Learning Based Test Case Prioritization for Enhancing the Security of Software

被引:10
|
作者
Shi, Tingting [1 ]
Xiao, Lei [1 ,2 ]
Wu, Keshou [1 ]
机构
[1] Xiamen Univ Technol, Xiamen, Peoples R China
[2] Shanghai Univ, Shanghai, Peoples R China
关键词
continuous integration; reinforcement learning; fault detection rate; reward function; historical execution information; multi-objective sorting;
D O I
10.1109/DSAA49011.2020.00076
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
In order to enhance the security of software, each system update needs to perform regression test. Regression testing in a continuous integration environment requires test cases to meet the needs of rapid feedback. Therefore, it is necessary to enable test cases to be effectively sorted within a certain time range so that more failure data could be discovered and the fault detection rate of testing could be improved. Reinforcement learning algorithms interact with the environment, so it is viable to optimize the sorting problem of test case in the process of continuous integration through a reward mechanism. In the development environment of continuous integration, it has been experimentally proven that the execution history of test cases in the last four cycles has a greater impact on the sorting of test cases in the current cycle. Therefore, a new RHE reward function was put forward by using part of weighted information obtained from historical execution result for enhancing the security of the system. Taking the influence of execution time into account, the multi-target sequencing technology for test case is employed with a view to improving the efficiency of defect discovery. It has been found by applying this sorting method to three industrial testing research that: (1) compared with weighted reward function based on the entire historical execution information, the function based on the four historical execution information had a higher capability of detecting faults; (2) The reward function obtained from the weighted historical results could effectively improve the fault detection rate and reduce the time consumed. (3) The multi-objective sorting methods taking execution time into consideration was able to maximize the number of testing cases that had already discovered faults within the available time.
引用
收藏
页码:663 / 672
页数:10
相关论文
共 50 条
  • [1] Reinforcement Learning for Test Case Prioritization
    Bagherzadeh, Mojtaba
    Kahani, Nafiseh
    Briand, Lionel
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (08) : 2836 - 2856
  • [2] Test Case Prioritization Technique in Continuous Integration Based on Reinforcement Learning
    Zhao, Yi-Fan
    Hao, Dan
    [J]. Ruan Jian Xue Bao/Journal of Software, 2023, 34 (06): : 2708 - 2726
  • [3] A Test Case Prioritization Based on Genetic Algorithm With Ant Colony and Reinforcement Learning Improvement
    Yang, Yu
    Wang, Lu
    Cha, Na
    Li, Hua
    [J]. 2023 IEEE 47TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE, COMPSAC, 2023, : 1588 - 1593
  • [4] Weighted Reward for Reinforcement Learning based Test Case Prioritization in Continuous Integration Testing
    Li, Guowei
    Yang, Yang
    Wu, Zhaolin
    Cao, Tiange
    Liu, Yong
    Li, Zheng
    [J]. 2021 IEEE 45TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2021), 2021, : 980 - 985
  • [5] A Time Window based Reinforcement Learning Reward for Test Case Prioritization in Continuous Integration
    Wu, Zhaolin
    Yang, Yang
    Li, Zheng
    Zhao, Ruilian
    [J]. 11TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE (INTERNETWARE 2019), 2019,
  • [6] Reinforcement Learning for Automatic Test Case Prioritization and Selection in Continuous Integration
    Spieker, Helge
    Gotlieb, Arnaud
    Marijan, Dusica
    Mossige, Morten
    [J]. PROCEEDINGS OF THE 26TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA'17), 2017, : 12 - 22
  • [7] Neural Network Based Test Case Prioritization in Software Engineering
    Thakur, Akshit
    Sharma, Gitika
    [J]. ADVANCED INFORMATICS FOR COMPUTING RESEARCH, PT II, 2019, 956 : 334 - 345
  • [8] Test Suite Prioritization Based on Optimization Approach Using Reinforcement Learning
    Waqar, Muhammad
    Imran
    Zaman, Muhammad Atif
    Muzammal, Muhammad
    Kim, Jungsuk
    [J]. APPLIED SCIENCES-BASEL, 2022, 12 (13):
  • [9] A Test Case Prioritization Approach Based on Software Component Metrics
    Silva, Dennis Savio
    Rabelo, Ricardo
    Santos Neto, Pedro
    Britto, Ricardo
    Oliveira, Pedro Almir
    [J]. 2019 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS (SMC), 2019, : 2939 - 2945
  • [10] Test Case Prioritization for Regression Testing of OO Software based on the complexity of Software
    Xi, Pu
    Zhao, Chenhong
    Qin, Bin
    [J]. 2011 INTERNATIONAL CONFERENCE ON COMPUTER, ELECTRICAL, AND SYSTEMS SCIENCES, AND ENGINEERING (CESSE 2011), 2011, : 5 - 8