Using Machine Learning to Generate Test Oracles: A Systematic Literature Review
This work provides a roadmap for researchers in software testing by synthesizing emerging research on automating test oracle generation, though it is incremental as a review paper.
The paper conducted a systematic literature review on using machine learning to generate test oracles, analyzing 22 studies to characterize oracle types, ML techniques, and evaluation methods, while identifying open challenges like training data requirements and replicability issues.
Machine learning may enable the automated generation of test oracles. We have characterized emerging research in this area through a systematic literature review examining oracle types, researcher goals, the ML techniques applied, how the generation process was assessed, and the open research challenges in this emerging field. Based on a sample of 22 relevant studies, we observed that ML algorithms generated test verdict, metamorphic relation, and - most commonly - expected output oracles. Almost all studies employ a supervised or semi-supervised approach, trained on labeled system executions or code metadata - including neural networks, support vector machines, adaptive boosting, and decision trees. Oracles are evaluated using the mutation score, correct classifications, accuracy, and ROC. Work-to-date show great promise, but there are significant open challenges regarding the requirements imposed on training data, the complexity of modeled functions, the ML algorithms employed - and how they are applied - the benchmarks used by researchers, and replicability of the studies. We hope that our findings will serve as a roadmap and inspiration for researchers in this field.