Using Semi-Supervised Learning for Predicting Metamorphic Relations
This addresses the need for domain experts in software testing, though it appears incremental as it builds on existing metamorphic testing methods.
The paper tackles the problem of automating software testing for programs without oracles by predicting metamorphic relations, showing that a semi-supervised learning model improves classification accuracy compared to a supervised model.
Software testing is difficult to automate, especially in programs which have no oracle, or method of determining which output is correct. Metamorphic testing is a solution this problem. Metamorphic testing uses metamorphic relations to define test cases and expected outputs. A large amount of time is needed for a domain expert to determine which metamorphic relations can be used to test a given program. Metamorphic relation prediction removes this need for such an expert. We propose a method using semi-supervised machine learning to detect which metamorphic relations are applicable to a given code base. We compare this semi-supervised model with a supervised model, and show that the addition of unlabeled data improves the classification accuracy of the MR prediction model.