Article (Scientific journals)
Reinforcement Learning for Test Case Prioritization
Bagherzadeh, Mojtaba; Kahani, Nafiseh; Briand, Lionel
2021In IEEE Transactions on Software Engineering, 48 (8), p. 2836 - 2856
Peer Reviewed verified by ORBi
 

Files


Full Text
TCP_using_RL__-35.pdf
Author preprint (1.06 MB)
Download

All documents in ORBilu are protected by a user license.

Send to



Details



Keywords :
Regression Testing; Reinforcement Learning
Abstract :
[en] Continuous Integration (CI) context significantly reduces integration problems, speeds up development time, and shortens release time. However, it also introduces new challenges for quality assurance activities, including regression testing, which is the focus of this work. Though various approaches for test case prioritization have shown to be very promising in the context of regression testing, specific techniques must be designed to deal with the dynamic nature and timing constraints of CI. Recently, Reinforcement Learning (RL) has shown great potential in various challenging scenarios that require continuous adaptation, such as game playing, real-time ads bidding, and recommender systems. Inspired by this line of work and building on initial efforts in supporting test case prioritization with RL techniques, we perform here a comprehensive investigation of RL-based test case prioritization in a CI context. To this end, taking test case prioritization as a ranking problem, we model the sequential interactions between the CI environment and a test case prioritization agent as an RL problem, using three alternative ranking models. We then rely on carefully selected and tailored state-of-the-art RL techniques to automatically and continuously learn a test case prioritization strategy, whose objective is to be as close as possible to the optimal one. Our extensive experimental analysis shows that the best RL solutions provide a significant accuracy improvement over previous RL-based work, with prioritization strategies getting close to being optimal, thus paving the way for using RL to prioritize test cases in a CI context.
Research center :
Interdisciplinary Centre for Security, Reliability and Trust (SnT) > Software Verification and Validation Lab (SVV Lab)
Disciplines :
Computer science
Author, co-author :
Bagherzadeh, Mojtaba;  University of Ottawa > EECS
Kahani, Nafiseh;  Carleton University > SCE
Briand, Lionel ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SVV
External co-authors :
yes
Language :
English
Title :
Reinforcement Learning for Test Case Prioritization
Publication date :
02 April 2021
Journal title :
IEEE Transactions on Software Engineering
ISSN :
1939-3520
Publisher :
Institute of Electrical and Electronics Engineers, New-York, United States - New York
Volume :
48
Issue :
8
Pages :
2836 - 2856
Peer reviewed :
Peer Reviewed verified by ORBi
Focus Area :
Security, Reliability and Trust
Funders :
NSERC Canada Research Chair and Discovery grant program
Available on ORBilu :
since 16 October 2021

Statistics


Number of views
341 (44 by Unilu)
Number of downloads
121 (12 by Unilu)

Scopus citations®
 
15
Scopus citations®
without self-citations
14
WoS citations
 
19

Bibliography


Similar publications



Contact ORBilu