Evaluating the effectiveness of metamorphic testing on edge detection programs

Programmer's errors in implementing edge detection algorithms could induce faults in edge detection programs. We study Sobel edge detection programs in C and evaluate the effectiveness of Metamorphic Testing technique in detecting faulty edge detection programs. We found that the fault detection effectiveness varies for different metamorphic relations used for testing. Contrary to common believe that faults in image processing programs can be detected with any non-trivial image as test input, our experiment results show that there exists subtle fault that can only be detected when images with certain properties are used as test inputs. Based on these results, we propose general guides for using metamorphic testing to detect faults in edge detection programs.

[1]  John F. Canny,et al.  A Computational Approach to Edge Detection , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[2]  Johannes Mayer,et al.  On Random Testing of Image Processing Applications , 2006, 2006 Sixth International Conference on Quality Software (QSIC'06).

[3]  Johannes Mayer,et al.  On Testing Image Processing Applications with Statistical Methods , 2005, Software Engineering.

[4]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[5]  Scott E. Umbaugh,et al.  Computer Vision and Image Processing: A Practical Approach Using CVIPTools , 1997 .

[6]  Essam A. El-Kwae,et al.  Edge detection in medical images using a genetic algorithm , 1998, IEEE Transactions on Medical Imaging.

[7]  Djemel Ziou,et al.  Edge Detection Techniques-An Overview , 1998 .

[8]  P. Danielsson Euclidean distance mapping , 1980 .