Proposal for selecting tests to run on gerrit patches based on machine learning
- Mentors
- Thorsten, stragu, cloph
- Organization
- LibreOffice
- Technologies
- python, c++
- Topics
- machine learning, Unit test
LibreOffice is a large and complex office software and has an extensive CI system to ensure that new patches do not introduce bugs. A lot of unit tests are run in Jenkins when contributers submit their patches to gerrit. It usually takes hours to run all the tests across different platforms, especially in rush hours. Therefore, a better test selection method is needed to reduce the load in testing while maintaining a high software quality.
Recently, machine learning is used to predict whether a patch can pass a given test. This can greatly reduce the testing load because we can skip the tests that is very likely to pass when a patch is submitted. Although feature engineering isn't trivial, transformers have been proved useful in feature extraction under similar problem settings. Therefore, I propose that we can implement a machine learning based test selection method to select tests to run in the CI chain to reduce testing load.