title: Testing and Validating Machine Learning Classifiers by Metamorphic Testing.
abstract: Machine Learning algorithms have provided core functionality to many application domains - such as bioinformatics, computational linguistics, etc. However, it is difficult to detect faults in such applications because often there is no "test oracle" to verify the correctness of the computed outputs. To help address the software quality, in this paper we present a technique for testing the implementations of machine learning classification algorithms which support such applications. Our approach is based on the technique "metamorphic testing", which has been shown to be effective to alleviate the oracle problem. Also presented include a case study on a real-world machine learning application framework, and a discussion of how programmers implementing machine learning algorithms can avoid the common pitfalls discovered in our study. We also conduct mutation analysis and cross-validation, which reveal that our method has high effectiveness in killing mutants, and that observing expected cross-validation result alone is not sufficiently effective to detect faults in a supervised classification program. The effectiveness of metamorphic testing is further confirmed by the detection of real faults in a popular open-source classification program.
authors.affiliation: Centre for Software Analysis and Testing, Swinburne University of Technology, Hawthorn, Vic 3122 Australia.
authors.forename: Xiaoyuan
authors.initials: X
authors.lastname: Xie
authors.forename: Joshua W K
authors.initials: JW
authors.lastname: Ho
authors.forename: Christian
authors.initials: C
authors.lastname: Murphy
authors.forename: Gail
authors.initials: G
authors.lastname: Kaiser
authors.forename: Baowen
authors.initials: B
authors.lastname: Xu
authors.forename: Tsong Yueh
authors.initials: TY
authors.lastname: Chen