Improving the Quality of Computational Science Software by Using Metamorphic Relations to Test Machine Learning Applications

Xiaoyuan Xie,Joshua Ho,Christian Murphy,Gail Kaiser,Baowen Xu,T. Y. Chen
2009-01-01
Abstract: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 ora- cle" to indicate what the correct output should be for arbi- trary input. To help address the quality of scientific com- puting software, in this paper we present a technique for testing the implementations of machine learning classifica- tion algorithms on which such scientific computing software depends. Our technique is based on an approach called "metamorphic testing", which has been shown to be ef- fective in such cases. In addition to presenting our tech- nique, we describe a case study we performed on a real- world machine learning application framework, and dis- cuss how programmers implementing machine learning al- gorithms can avoid the common pitfalls discovered in our study. We also discuss how our findings can be of use to other areas of computational science and engineering.
What problem does this paper attempt to address?