Published February 25, 2021 | Version v1
Presentation Open

Supervised Learning for Test Suit Selection in Continuous Integration

  • 1. Instituto Superior Técnico
  • 2. OutSystems
  • 3. INESC-ID

Description

Continuous Integration is the process of merging
code changes into a software project. Keeping the master branch
always updated and unfailingly is very computationally expensive
due to the number of tests and code that needs to be executed.
The waiting times also increase the time required for debugging.
This paper proposes a solution to reduce the execution time of
the testing phase, by selecting only a subset of all the tests,
given some code changes. This is accomplished by training a
Machine Learning (ML) Classifier with features such as code/test
files history fails, extension code files that tend to generate more
errors during the testing phase, and others. The results obtained
by the best ML classifier showed results comparable with the
recent literature done in the same area. This model managed to
reduce the median test execution time by nearly 10 minutes while
maintaining 97% of recall. Additionally, the impact of innocent
commits and flaky tests was taken into account and studied to
understand a particular industrial context.

Files

conference video.mp4

Files (1.1 GB)

Name Size Download all
md5:9d9eb9ad5b92560709bc364d2e72e8fd
1.1 GB Preview Download