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 条
  • [21] Survey on Testing of Deep Learning Frameworks
    Ma, Xiang-Yue
    Du, Xiao-Ting
    Cai, Qing
    Zheng, Yang
    Hu, Zheng
    Zheng, Zheng
    Ruan Jian Xue Bao/Journal of Software, 2024, 35 (08): : 3752 - 3784
  • [22] Integrating Evolutionary Testing with Reinforcement Learning for Automated Test Generation of Object-Oriented Software
    He Wei
    Zhao Ruilian
    Zhu Qunxiong
    CHINESE JOURNAL OF ELECTRONICS, 2015, 24 (01) : 38 - 45
  • [23] Integrating Evolutionary Testing with Reinforcement Learning for Automated Test Generation of Object-Oriented Software
    HE Wei
    ZHAO Ruilian
    ZHU Qunxiong
    ChineseJournalofElectronics, 2015, 24 (01) : 38 - 45
  • [24] An Empirical Study on the Usage of Mocking Frameworks in Software Testing
    Mostafa, Shaikh
    Wang, Xiaoyin
    2014 14TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2014), 2014, : 127 - 132
  • [25] Integrating evolutionary testing with reinforcement learning for automated test generation of object-oriented software
    Department of Computer Science and Technology, Beijing University of Chemical Technology, Beijing
    100029, China
    Chin J Electron, 1 (38-45):
  • [26] Enabling Machine Learning in Software Architecture Frameworks
    Moin, Armin
    Badii, Atta
    Guennemann, Stephan
    Challenger, Moharram
    2023 IEEE/ACM 2ND INTERNATIONAL CONFERENCE ON AI ENGINEERING - SOFTWARE ENGINEERING FOR AI, CAIN, 2023, : 92 - 93
  • [27] Learning Tasks for Software Engineering Education An exemplary development of learning tasks for software engineering based on didactic function and knowledge type
    Reuter, Rebecca
    Jahn, Sabrina
    Figas, Paula
    Bartel, Alexander
    Mottok, Juergen
    Hagel, Georg
    PROCEEDINGS OF THE 3RD EUROPEAN CONFERENCE OF SOFTWARE ENGINEERING EDUCATION (ECSEE), 2018, : 1 - 7
  • [28] Software Testing for Machine Learning
    Marijan, Dusica
    Gotlieb, Arnaud
    THIRTY-FOURTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THE THIRTY-SECOND INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE AND THE TENTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2020, 34 : 13576 - 13582
  • [29] Reinforcement learning with function approximation for cooperative navigation tasks
    Melo, Francisco S.
    Ribeiro, M. Isabel
    2008 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION, VOLS 1-9, 2008, : 3321 - +
  • [30] Conceptual Reinforcement Learning for Language-Conditioned Tasks
    Peng, Shaohui
    Hu, Xing
    Zhang, Rui
    Guo, Jiaming
    Yi, Qi
    Chen, Ruizhi
    Du, Zidong
    Li, Ling
    Guo, Qi
    Chen, Yunji
    THIRTY-SEVENTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOL 37 NO 8, 2023, : 9426 - 9434