A classification of code changes and test types dependencies for improving machine learning based test selection
Paper i proceeding, 2021

Machine learning has been increasingly used to solve various software engineering tasks. One example of their usage is in regression testing, where a classifier is built using historical code commits to predict which test cases require execution. In this paper, we address the problem of how to link specific code commits to test types to improve the predictive performance of learning models in improving regression testing. We design a dependency taxonomy of the content of committed code and the type of a test case. The taxonomy focuses on two types of code commits: changing memory management and algorithm complexity. We reviewed the literature, surveyed experienced testers from three Swedish-based software companies, and conducted a workshop to develop the taxonomy. The derived taxonomy shows that memory management code should be tested with tests related to performance, load, soak, stress, volume, and capacity; the complexity changes should be tested with the same dedicated tests and maintainability tests. We conclude that this taxonomy can improve the effectiveness of building learning models for regression testing.



continuous integration


Khaled Al Sabbagh

Göteborgs universitet

Miroslaw Staron

Göteborgs universitet

Regina Hebig

Göteborgs universitet

Francisco Gomes

Göteborgs universitet

SIGPLAN Notices (ACM Special Interest Group on Programming Languages)

0362-1340 (ISSN)


the 17th International Conference on Predictive Models and Data Analytics in Software Engineering
Athens, Greece,



Datavetenskap (datalogi)




Mer information

Senast uppdaterat