arrow
Return

Reinforcement Learning for Test Case Prioritization

delete2022-08-01
delete42
delete
OA
AI
M
Mojtaba Bagherzadeh *
N
Nafıseh Kahani
L
Lionel Briand
DOI:10.1109/TSE.2021.3070549delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Continuous Integration (CI) 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.
Keywords:
Testing
History
Training
Reinforcement learning
Software systems
Adaptation models
Software algorithms
Continuous integration
CI
reinforcement learning
test prioritization

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

C
carleton university
Scholars:
7.5K
Papers: 8.3K
Citations: 5
U
University of Ottawa
Scholars:
3.5W
Papers: 3.1W
Citations: 3.8W
Cited Papers

Cited Papers

Geopolitics and discourse
err1992-03-01
err0
PREAI
errGearóid Ó Tuathail; John Agnew
errShare
errSave
S1-Leitlinie Post-COVID/Long-COVID
err2021-09-02
err0
errOAAI
errAndreas Rembert Koczulla; Tobias Ankermann; Uta Behrends; Peter Berlit; Sebastian Böing; Folke Brinkmann; Christian Franke; Rainer Glöckl; Christian Gogoll; Thomas Hummel; Juliane Kronsbein; Thomas Maibaum; Eva M. J. Peters; Michael Pfeifer; Thomas Platz; Matthias Pletz; Georg Pongratz; Frank Powitz; Klaus F. Rabe; Carmen Scheibenbogen; Andreas Stallmach; Michael Stegbauer; Hans Otto Wagner; Christiane Waller; Hubert Wirtz; Andreas Zeiher; Ralf Harun Zwick
errShare
errSave
On the propagation of low‐frequency fluctuations in the plasma sheet: 2. Characterization of the MHD eigenmodes and physical implications
err2004-03-24
err0
errOAAI
errG. Fruit; P. Louarn; E. Budnik; J. A. Sauvaud; C. Jacquey; D. Le Quéau; H. Rème; E. Lucek; A. Balogh; N. Cornilleau‐Wehrlin
errShare
errSave
Pteropods, eddies, carbon flux, and climate variability in the Alaska Gyre
err2005-04-01
err0
PREAI
errM. Tsurumi; D.L. Mackas; F.A. Whitney; C. DiBacco; M.D. Galbraith; C.S. Wong
errShare
errSave
errShare
errSave
researcher View more