A comparison of reinforcement learning frameworks for software testing tasks

被引:4
|
作者
Mindom, Paulina Stevia Nouwou [1 ]
Nikanjam, Amin [1 ]
Khomh, Foutse [1 ]
机构
[1] Polytech Montreal, Quebec City, PQ H3T 1J4, Canada
关键词
Software testing; Reinforcement learning; Game testing; Test case prioritization;
D O I
10.1007/s10664-023-10363-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software testing activities scrutinize the artifacts and the behavior of a software product to find possible defects and ensure that the product meets its expected requirements. Although various approaches of software testing have shown to be very promising in revealing defects in software, some of them lack automation or are partly automated which increases the testing time, the manpower needed, and overall software testing costs. Recently, Deep Reinforcement Learning (DRL) has been successfully employed in complex testing tasks such as game testing, regression testing, and test case prioritization to automate the process and provide continuous adaptation. Practitioners can employ DRL by implementing from scratch a DRL algorithm or using a DRL framework. DRL frameworks offer well-maintained implemented state-of-the-art DRL algorithms to facilitate and speed up the development of DRL applications. Developers have widely used these frameworks to solve problems in various domains including software testing. However, to the best of our knowledge, there is no study that empirically evaluates the effectiveness and performance of implemented algorithms in DRL frameworks. Moreover, some guidelines are lacking from the literature that would help practitioners choose one DRL framework over another. In this paper, therefore, we empirically investigate the applications of carefully selected DRL algorithms (based on the characteristics of algorithms and environments) on two important software testing tasks: test case prioritization in the context of Continuous Integration (CI) and game testing. For the game testing task, we conduct experiments on a simple game and use DRL algorithms to explore the game to detect bugs. Results show that some of the selected DRL frameworks such as Tensorforce outperform recent approaches in the literature. To prioritize test cases, we run extensive experiments on a CI environment where DRL algorithms from different frameworks are used to rank the test cases. We find some cases where our DRL configurations outperform the implementation of the baseline. Our results show that the performance difference between implemented algorithms in some cases is considerable, motivating further investigation. Moreover, empirical evaluations on some benchmark problems are recommended for researchers looking to select DRL frameworks, to make sure that DRL algorithms perform as intended.
引用
收藏
页数:76
相关论文
共 50 条
  • [1] A comparison of reinforcement learning frameworks for software testing tasks
    Paulina Stevia Nouwou Mindom
    Amin Nikanjam
    Foutse Khomh
    Empirical Software Engineering, 2023, 28
  • [2] The role of Reinforcement Learning in software testing
    Abo-eleneen, Amr
    Palliyali, Ahammed
    Catal, Cagatay
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 164
  • [3] Two Steps Reinforcement Learning in Continuous Reinforcement Learning Tasks
    Lopez-Bueno, Ivan
    Garcia, Javier
    Fernandez, Fernando
    BIO-INSPIRED SYSTEMS: COMPUTATIONAL AND AMBIENT INTELLIGENCE, PT 1, 2009, 5517 : 577 - 584
  • [4] Automated Transfer for Reinforcement Learning Tasks
    Ammar, Haitham Bou
    Chen, Siqi
    Tuyls, Karl
    Weiss, Gerhard
    KUNSTLICHE INTELLIGENZ, 2014, 28 (01): : 7 - 14
  • [5] Strategic Tasks for Explainable Reinforcement Learning
    Pocius, Rey
    Neal, Lawrence
    Fern, Alan
    THIRTY-THIRD AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE / THIRTY-FIRST INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE / NINTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2019, : 10007 - 10008
  • [6] Prioritizing software regression testing using reinforcement learning and hidden Markov model
    Rawat N.
    Somani V.
    Tripathi A.K.
    International Journal of Computers and Applications, 2023, 45 (12) : 748 - 754
  • [7] Improving Reinforcement Learning Efficiency with Auxiliary Tasks in Non-visual Environments: A Comparison
    Lange, Moritz
    Krystiniak, Noah
    Engelhardt, Raphael C.
    Konen, Wolfgang
    Wiskott, Laurenz
    MACHINE LEARNING, OPTIMIZATION, AND DATA SCIENCE, LOD 2023, PT II, 2024, 14506 : 177 - 191
  • [8] Survey and Comparison of Frameworks in Software Architecture
    Mary, S. Roselin
    Rodrigues, Paul
    ADVANCES IN COMPUTING AND COMMUNICATIONS, PT 4, 2011, 193 : 9 - +
  • [9] Aspect Oriented Testing Frameworks for Embedded Software
    Kim, Haeng Kon
    SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING, 2008, 149 : 75 - 88
  • [10] Federated Meta Reinforcement Learning for Personalized Tasks
    Liu, Wentao
    Xu, Xiaolong
    Wu, Jintao
    Jiang, Jielin
    TSINGHUA SCIENCE AND TECHNOLOGY, 2024, 29 (03): : 911 - 926