Spotlight: Reinforcement Learning voor Test Case Prioritization

Door Andreas Veeckman

Dat de toepassingen van Reinforcement Learning (RL) zich niet beperken tot bots die een spel kunnen spelen, maar zich op alle beslissingsniveaus kunnen bevinden tonen de auteurs van onderstaande paper aan. Continuous Integration is een begrip in software development waarbij er na code commits automatische tests gebeuren van de applicatie. Het doel is om de tijd te minimaliseren tussen een commit, het detecteren van een fout/bug en dit terug te communiceren naar de developer. De auteurs stellen hier een RL model voor dat bepaalt welke tests eerst gedaan worden. Het model kijkt hiervoor naar de aard van de commit, de geschiedenis van waar het al vaak misliep enz. Op basis hiervan wordt er een Test Case Prioritization opgesteld, waardoor tests met hogere kans op falen eerst worden uitgevoerd, en bugs sneller worden gevonden.

Link naar paper: https://arxiv.org/abs/1811.04122