Home / Articles
Evaluation of the existing Metamorphic Relations for Machine Learning Classifiers from a Whitebox Coverage perspective
Machine learning (ML) is one of the most popular area in the field of AI, which has led to a rapid rise in ML applications. Most of these applications use libraries like Sci-kit learn and Weka which implement these algorithms. Testing these ML applications is difficult because they suffer from the oracle problem and traditional testing techniques generally do not work without oracles. Metamorphic testing is used instead of the traditional testing techniques for these applications. Although the code for the actual application is usually too simple to be need formal testing but the implementation of the algorithms within the libraries is not. This work evaluates the existing metamorphic relations in the literature for their effectives in detecting faults and finds the kill rate of these metamorphic relations when they are used to test the implementations for 5 classifiers (ANN, ID3, KNN, Naïve Bayes, SVM) from Sci-kit learn. It also finds the statement and branch coverage when using these Metamorphic relations and finds an indirect relationship between coverage and kill rate which can be exploited to improve the kill rate for the test suites.
Index Terms- Metamorphic Testing, Metamorphic Relations, Oracle, Machine Learning.