The role of Reinforcement Learning in software testing

被引:5
作者
Abo-eleneen, Amr [1 ]
Palliyali, Ahammed [1 ]
Catal, Cagatay [1 ]
机构
[1] Qatar Univ, Dept Comp Sci & Engn, Doha 2713, Qatar
关键词
Software testing; Machine learning; Reinforcement Learning; Artificial intelligence;
D O I
10.1016/j.infsof.2023.107325
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Software testing is applied to validate the behavior of the software system and identify flaws and bugs. Different machine learning technique types such as supervised and unsupervised learning were utilized in software testing. However, for some complex software testing scenarios, neither supervised nor unsupervised machine learning techniques were adequate. As such, researchers applied Reinforcement Learning (RL) techniques in some cases. However, a systematic overview of the state-of-the-art on the role of reinforcement learning in software testing is lacking.Objective: The objective of this study is to determine how and to what extent RL was used in software testing.Methods: In this study, a Systematic Literature Review (SLR) was conducted on the use of RL in software testing, and 40 primary studies were investigated.Results: This study highlights different software testing types to which RL has been applied, commonly used RL algorithms and architecture for learning, challenges faced, advantages and disadvantages of using RL, and the performance comparison of RL-based models against other techniques.Conclusions: RL has been widely used in software testing but has almost narrowed to two applications. There is a shortage of papers using advanced RL techniques in addition to multi-agent RL. Several challenges were presented in this study.
引用
收藏
页数:14
相关论文
共 73 条
  • [1] Reinforcement Learning for Android GUI Testing
    Adamo, David
    Khan, Md Khorrom
    Koppula, Sreedevi
    Bryce, Renee
    [J]. PROCEEDINGS OF THE 9TH ACM SIGSOFT INTERNATIONAL WORKSHOP ON AUTOMATING TEST CASE DESIGN, SELECTION, AND EVALUATION (A-TEST '18), 2018, : 2 - 8
  • [2] Using Deep Reinforcement Learning for Exploratory Performance Testing of Software Systems With Multi-Dimensional Input Spaces
    Ahmad, Tanwir
    Ashraf, Adnan
    Truscan, Dragos
    Domi, Andi
    Porres, Ivan
    [J]. IEEE ACCESS, 2020, 8 : 195000 - 195020
  • [3] Prioritizing automated user interface tests using reinforcement learning
    An Nguyen
    Bach Le
    Vu Nguyen
    [J]. 15TH INTERNATIONAL CONFERENCE ON PREDICTIVE MODELS AND DATA ANALYTICS IN SOFTWARE ENGINEERING (PROMISE'19), 2019, : 56 - 65
  • [4] Araiza-Illan Dejanira, 2016, P 3 WORKSHOP MODEL D, P9
  • [5] Bank D., 2020, arXiv
  • [6] Deep Reinforcement Fuzzing
    Boettinger, Konstantin
    Godefroid, Patrice
    Singh, Rishabh
    [J]. 2018 IEEE SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS (SPW 2018), 2018, : 116 - 122
  • [7] Buzdalov M., 2013, GECCO 2013 P 2013 GE, P1655, DOI [10.1145/2464576.2482746, DOI 10.1145/2464576.2482746]
  • [8] Dynamically Testing GUIs Using Ant Colony Optimization
    Carino, Santo
    Andrews, James H.
    [J]. 2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, : 138 - 148
  • [9] Test Data Generation for MC/DC Criterion using Reinforcement Learning
    Cegin, Jan
    Rastocny, Karol
    [J]. 2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW), 2020, : 354 - 357
  • [10] Reinforcement-Learning Based Test Program Generation for Software-Based Self-Test
    Chen, Ching-Yuan
    Huang, Jiun-Lang
    [J]. 2019 IEEE 28TH ASIAN TEST SYMPOSIUM (ATS), 2019, : 73 - 78