Application of Metamorphic Testing to Supervised Classifiers.
Many applications in the field of scientific computing - such as computational biology, computational linguistics, and others - depend on Machine Learning algorithms to provide important core functionality to support solutions in the particular problem domains. However, it is difficult to test such applications because often there is no "test oracle" to indicate what the correct output should be for arbitrary input. To help address the quality of such software, in this paper we present a technique for testing the implementations of supervised machine learning classification algorithms on which such scientific computing software depends. Our technique is based on an approach called "metamorphic testing", which has been shown to be effective in such cases. More importantly, we demonstrate that our technique not only serves the purpose of verification, but also can be applied in validation. In addition to presenting our technique, we describe a case study we performed on a real-world machine learning application framework, and discuss how programmers implementing machine learning algorithms can avoid the common pitfalls discovered in our study. We also discuss how our findings can be of use to other areas outside scientific computing, as well.
Centre for Software Analysis and Testing, Swinburne University of Technology, Hawthorn, Victoria 3122 Australia.
Xiaoyuan
X
Xie
Joshua
J
Ho
Christian
C
Murphy
Gail
G
Kaiser
Baowen
B
Xu
Tsong Yueh
TY
Chen
Bioinformatics. 2007 Mar 1;23(5):651-3
17237069
BMC Bioinformatics. 2009 Jan 19;10:24
19152705