Differential testing for machine learning: an analysis for classification algorithms beyond deep learning

07/25/2022
by   Steffen Herbold, et al.
0

Context: Differential testing is a useful approach that uses different implementations of the same algorithms and compares the results for software testing. In recent years, this approach was successfully used for test campaigns of deep learning frameworks. Objective: There is little knowledge on the application of differential testing beyond deep learning. Within this article, we want to close this gap for classification algorithms. Method: We conduct a case study using Scikit-learn, Weka, Spark MLlib, and Caret in which we identify the potential of differential testing by considering which algorithms are available in multiple frameworks, the feasibility by identifying pairs of algorithms that should exhibit the same behavior, and the effectiveness by executing tests for the identified pairs and analyzing the deviations. Results: While we found a large potential for popular algorithms, the feasibility seems limited because often it is not possible to determine configurations that are the same in other frameworks. The execution of the feasible tests revealed that there is a large amount of deviations for the scores and classes. Only a lenient approach based on statistical significance of classes does not lead to a huge amount of test failures. Conclusions: The potential of differential testing beyond deep learning seems limited for research into the quality of machine learning libraries. Practitioners may still use the approach if they have deep knowledge about implementations, especially if a coarse oracle that only considers significant differences of classes is sufficient.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/04/2021

A Review on Oracle Issues in Machine Learning

Machine learning contrasts with traditional software development in that...
research
09/03/2020

Smoke Testing for Machine Learning: Simple Tests to Discover Severe Defects

Machine learning is nowadays a standard technique for data analysis with...
research
08/25/2022

A Comparison of Reinforcement Learning Frameworks for Software Testing Tasks

Software testing activities aim to find the possible defects of a softwa...
research
09/04/2017

Automation of Android Applications Testing Using Machine Learning Activities Classification

Mobile applications are being used every day by more than half of the wo...
research
06/05/2023

A Differential Testing Framework to Evaluate Image Recognition Model Robustness

Image recognition tasks typically use deep learning and require enormous...
research
06/07/2017

Comparative Analysis of Open Source Frameworks for Machine Learning with Use Case in Single-Threaded and Multi-Threaded Modes

The basic features of some of the most versatile and popular open source...
research
09/03/2020

Automated identification of metamorphic test scenarios for an ocean-modeling application

Metamorphic testing seeks to validate software in the absence of test or...

Please sign up or login with your details

Forgot password? Click here to reset