Leveraging mutants for automatic prediction of metamorphic relations using machine learning
2019 (English)In: MaLTeSQuE 2019 - Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, co-located with ESEC/FSE 2019, Association for Computing Machinery, Inc , 2019, p. 1-6Conference paper, Published paper (Refereed)
Abstract [en]
An oracle is used in software testing to derive the verdict (pass/fail) for a test case. Lack of precise test oracles is one of the major problems in software testing which can hinder judgements about quality. Metamorphic testing is an emerging technique which solves both the oracle problem and the test case generation problem by testing special forms of software requirements known as metamorphic requirements. However, manually deriving the metamorphic requirements for a given program requires a high level of domain expertise, is labor intensive and error prone. As an alternative, we consider the problem of automatic detection of metamorphic requirements using machine learning (ML). For this problem we can apply graph kernels and support vector machines (SVM). A significant problem for any ML approach is to obtain a large labeled training set of data (in this case programs) that generalises well. The main contribution of this paper is a general method to generate large volumes of synthetic training data which can improve ML assisted detection of metamorphic requirements. For training data synthesis we adopt mutation testing techniques. This research is the first to explore the area of data augmentation techniques for ML-based analysis of software code. We also have the goal to enhance black-box testing using white-box methodologies. Our results show that the mutants incorporated into the source code corpus not only efficiently scale the dataset size, but they can also improve the accuracy of classification models.
Place, publisher, year, edition, pages
Association for Computing Machinery, Inc , 2019. p. 1-6
Keywords [en]
Data augmentation, Fault Identification, Machine Learning, Metamorphic Testing, Mutation Testing, Source Code Analysis, Test Case Generation, Classification (of information), Codes (symbols), Computer software selection and evaluation, Learning algorithms, Learning systems, Quality control, Support vector machines, Testing, Fault identifications, Black-box testing
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-268549DOI: 10.1145/3340482.3342741ISI: 000532562700001Scopus ID: 2-s2.0-85076425007OAI: oai:DiVA.org:kth-268549DiVA, id: diva2:1416472
Conference
3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, MaLTeSQuE 2019, co-located with ESEC/FSE 2019, 27 August 2019
Note
QC 20200324
Part of ISBN 9781450368551
2020-03-242020-03-242024-10-18Bibliographically approved