Smoke testing for machine learning: simple tests to discover severe bugs

2022 | Zeitschriftenartikel. Eine Publikation mit Affiliation zur Georg-August-Universität Göttingen.

Spring zu: Zitieren & Links | Dokumente & Medien | Details | Versionsgeschichte

Zitiervorschlag

​Smoke testing for machine learning: simple tests to discover severe bugs​
Herbold, S. & Haar, T.​ (2022) 
Empirical Software Engineering27(2) art. 45​.​ DOI: https://doi.org/10.1007/s10664-021-10073-7 

Dokumente & Medien

document.pdf1.6 MBAdobe PDF

Lizenz

GRO License GRO License

Details

Autor(en)
Herbold, Steffen; Haar, Tobias
Zusammenfassung
Abstract Machine learning is nowadays a standard technique for data analysis within software applications. Software engineers need quality assurance techniques that are suitable for these new kinds of systems. Within this article, we discuss the question whether standard software testing techniques that have been part of textbooks since decades are also useful for the testing of machine learning software. Concretely, we try to determine generic and simple smoke tests that can be used to assert that basic functions can be executed without crashing. We found that we can derive such tests using techniques similar to equivalence classes and boundary value analysis. Moreover, we found that these concepts can also be applied to hyperparameters, to further improve the quality of the smoke tests. Even though our approach is almost trivial, we were able to find bugs in all three machine learning libraries that we tested and severe bugs in two of the three libraries. This demonstrates that common software testing techniques are still valid in the age of machine learning and that considerations how they can be adapted to this new context can help to find and prevent severe bugs, evenin mature machine learning libraries.
Abstract Machine learning is nowadays a standard technique for data analysis within software applications. Software engineers need quality assurance techniques that are suitable for these new kinds of systems. Within this article, we discuss the question whether standard software testing techniques that have been part of textbooks since decades are also useful for the testing of machine learning software. Concretely, we try to determine generic and simple smoke tests that can be used to assert that basic functions can be executed without crashing. We found that we can derive such tests using techniques similar to equivalence classes and boundary value analysis. Moreover, we found that these concepts can also be applied to hyperparameters, to further improve the quality of the smoke tests. Even though our approach is almost trivial, we were able to find bugs in all three machine learning libraries that we tested and severe bugs in two of the three libraries. This demonstrates that common software testing techniques are still valid in the age of machine learning and that considerations how they can be adapted to this new context can help to find and prevent severe bugs, evenin mature machine learning libraries.
Erscheinungsdatum
2022
Zeitschrift
Empirical Software Engineering 
ISSN
1382-3256
eISSN
1573-7616
Sprache
Englisch

Export Metadaten

Referenzen

Zitationen


Social Media