2015 IEEE/ACM 10th International Workshop on Automation of Software Test (AST) (2015)
May 23, 2015 to May 24, 2015
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/AST.2015.19
Metamorphic testing is an advanced technique to test programs without a true test oracle such as machine learning applications. Because these programs have no general oracle to identify their correctness, traditional testing techniques such as unit testing may not be helpful for developers to detect potential bugs. This paper presents a novel system, KABU, which can dynamically infer properties of methods' states in programs that describe the characteristics of a method before and after transforming its input. These Metamorphic Properties (MPs) are pivotal to detecting potential bugs in programs without test oracles, but most previous work relies solely on human effort to identify them and only considers MPs between input parameters and output result (return value) of a program or method. This paper also proposes a testing concept, Metamorphic Differential Testing (MDT). By detecting different sets of MPs between different versions for the same method, KABU reports potential bugs for human review. We have performed a preliminary evaluation of KABU by comparing the MPs detected by humans with the MPs detected by KABU. Our preliminary results are promising: KABU can find more MPs than human developers, and MDT is effective at detecting function changes in methods.
Testing, Software, Computer bugs, Arrays, Instruments, Libraries, Writing
F. Su, J. Bell, C. Murphy and G. Kaiser, "Dynamic Inference of Likely Metamorphic Properties to Support Differential Testing," 2015 IEEE/ACM 10th International Workshop on Automation of Software Test (AST), Florence, Italy, 2015, pp. 55-59.