A classification of code changes and test types dependencies for improving machine learning based test selection
Paper in 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.

taxonomy

testing

continuous integration

Author

Khaled Al Sabbagh

University of Gothenburg

Miroslaw Staron

University of Gothenburg

Regina Hebig

University of Gothenburg

Francisco Gomes

University of Gothenburg

SIGPLAN Notices (ACM Special Interest Group on Programming Languages)

0362-1340 (ISSN)

40-49

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

Subject Categories

Information Science

Computer Science

Computer Systems

DOI

10.1145/3475960.3475987

More information

Latest update

9/16/2021