Reference : Reinforcement Learning for Test Case Prioritization
Scientific journals : Article
Engineering, computing & technology : Computer science
Security, Reliability and Trust
Reinforcement Learning for Test Case Prioritization
Bagherzadeh, Mojtaba [University of Ottawa > EECS]
Kahani, Nafiseh [Carleton University > SCE]
Briand, Lionel mailto [University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SVV >]
IEEE Transactions on Software Engineering
Institute of Electrical and Electronics Engineers
2836 - 2856
[en] Regression Testing ; Reinforcement Learning
[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.
Interdisciplinary Centre for Security, Reliability and Trust (SnT) > Software Verification and Validation Lab (SVV Lab)
NSERC Canada Research Chair and Discovery grant program
Researchers ; Professionals ; Students

File(s) associated to this reference

Fulltext file(s):

Open access
TCP_using_RL__-35.pdfAuthor preprint1.03 MBView/Open

Bookmark and Share SFX Query

All documents in ORBilu are protected by a user license.