Finding failures from passed test cases: improving the pattern classification approach to the testing of mesh simplification programs

Mesh simplification programs create three-dimensional polygonal models similar to an original polygonal model, and yet use fewer polygons. They produce different graphics even though they are based on the same original polygonal model. This results in a test oracle problem. To address the problem, our previous work has developed a technique that uses a reference model of the program under test to train a classifier. Using such an approach may mistakenly mark a failure-causing test case as passed. It lowers the testing effectiveness of revealing failures. This paper suggests piping the test cases marked as passed by a statistical pattern classification module to an analytical metamorphic testing (MT) module. We evaluate our approach empirically using three subject programs with over 2700 program mutants. The result shows that, using a resembling reference model to train a classifier, the integrated approach can significantly improve the failure detection effectiveness of the pattern classification approach. We also explain how MT in our design trades specificity for sensitivity. Copyright © 2009 John Wiley & Sons, Ltd. The paper proposes an integrated testing methodology that builds atop classification technique (PAT 1) and metamorphic testing (MT) to test mesh simplification programs. Test cases labeled as passed by a classifier trained with resembling reference models are checked via MT to look for missed failures. The methodology trades specificity for sensitivity, and empirically outperforms similar methodologies that either classifiers are trained with dissimilar reference models or there is no metamorphic testing component. Copyright © 2009 John Wiley & Sons, Ltd.

[1]  Thomas J. Ostrand,et al.  A visual test development environment for GUI systems , 1998, ISSTA.

[2]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[3]  David W. Hosmer,et al.  Applied Logistic Regression , 1991 .

[4]  Edward L. Jones,et al.  Specification-driven automated testing of GUI-based Java programs , 2004, ACM-SE 42.

[5]  Stephen S. Yau,et al.  Integration Testing of Context-sensitive Middleware-based Applications: a Metamorphic Approach , 2006, Int. J. Softw. Eng. Knowl. Eng..

[6]  James M. Rehg,et al.  Active learning for automatic classification of software behavior , 2004, ISSTA '04.

[7]  Abraham Kandel,et al.  The data mining approach to automated software testing , 2003, KDD '03.

[8]  Jonathan D. Cohen,et al.  Level of Detail for 3D Graphics , 2012 .

[9]  Shing-Chi Cheung,et al.  Applying generic timing tests for distributed multimedia software systems , 2004, IEEE Transactions on Reliability.

[10]  Luciano Baresi,et al.  Assertions to better specify the amazon bug , 2002, SEKE '02.

[11]  Robert M. Hierons Avoiding coincidental correctness in boundary value analysis , 2006, TSEM.

[12]  Dinesh Manocha,et al.  R-LODs: fast LOD-based ray tracing of massive models , 2006, SIGGRAPH Sketches.

[13]  David Leon,et al.  Tree-based methods for classifying software failures , 2004, 15th International Symposium on Software Reliability Engineering.

[14]  Shing-Chi Cheung,et al.  Reference Models and Automatic Oracles for the Testing of Mesh Simplification Software for Graphics Rendering , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[15]  Gregg Rothermel,et al.  Test case prioritization , 2004 .

[16]  Man F. Lau,et al.  An extended fault class hierarchy for specification-based testing , 2005, TSEM.

[17]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[18]  Yuanchen Zhu,et al.  Uniform remeshing with an adaptive domain: a new scheme for view-dependent level-of-detail rendering of meshes , 2005, IEEE Transactions on Visualization and Computer Graphics.

[19]  Massimiliano Di Penta,et al.  Assessing and improving state-based class testing: a series of experiments , 2004, IEEE Transactions on Software Engineering.

[20]  Tom M. Cavalier,et al.  A new algorithm for the two-polygon containment problem , 1997, Comput. Oper. Res..

[21]  Kalpesh Kapoor,et al.  Formal Analysis of Coupling Hypothesis for Logical Faults , 2006, Innovations in Systems and Software Engineering.

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

[23]  J.H. Andrews,et al.  Is mutation an appropriate tool for testing experiments? [software testing] , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[24]  Stefano Crespi-Reghizzi,et al.  A scalable formal method for design and automatic checking of user interfaces , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[25]  James F. Brinkley,et al.  MindSeer: a portable and extensible tool for visualization of structural and functional neuroimaging data , 2007, BMC Bioinformatics.

[26]  David P. Luebke,et al.  A Developer's Survey of Polygonal Simplification Algorithms , 2001, IEEE Computer Graphics and Applications.

[27]  T. H. Tse,et al.  An empirical comparison between direct and indirect test result checking approaches , 2006, SOQUA '06.

[28]  Hung-Kuang Chen,et al.  Polygonal mesh simplification with face color and boundary edge preservation using quadric error metric , 2002, Fourth International Symposium on Multimedia Software Engineering, 2002. Proceedings..

[29]  Jonathan P. Bowen,et al.  Test conditions for fault classes in Boolean specifications , 2007, TSEM.

[30]  Paolo Cignoni,et al.  A comparison of mesh simplification algorithms , 1998, Comput. Graph..

[31]  Atif M. Memon,et al.  What test oracle should I use for effective GUI testing? , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[32]  David G. Stork,et al.  Pattern Classification , 1973 .

[33]  Guy Durrieu,et al.  Helping the automated validation process of user interfaces systems , 1998, Proceedings of the 20th International Conference on Software Engineering.

[34]  Aly A. Farag,et al.  A modified fuzzy c-means algorithm for bias field estimation and segmentation of MRI data , 2002, IEEE Transactions on Medical Imaging.

[35]  Marc Levoy,et al.  Efficient variants of the ICP algorithm , 2001, Proceedings Third International Conference on 3-D Digital Imaging and Modeling.

[36]  Johannes Mayer,et al.  An Empirical Study on the Selection of Good Metamorphic Relations , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[37]  Bin Wang,et al.  Automated support for classifying software failure reports , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[38]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[39]  Michael Garland,et al.  Surface simplification using quadric error metrics , 1997, SIGGRAPH.

[40]  A. Jefferson Offutt,et al.  MuJava: an automated class mutation system , 2005, Softw. Test. Verification Reliab..

[41]  Greg Turk,et al.  Image-driven simplification , 2000, TOGS.

[42]  Elaine J. Weyuker,et al.  On Testing Non-Testable Programs , 1982, Comput. J..

[43]  Abraham Kandel,et al.  Using a neural network in the software testing process , 2002, Int. J. Intell. Syst..

[44]  Thomas J. McCabe,et al.  The Pareto principle applied to software quality assurance , 1998 .

[45]  David Lorge Parnas,et al.  Using Test Oracles Generated from Program Documentation , 1998, IEEE Trans. Software Eng..

[46]  Laura K. Dillon,et al.  Generating oracles from your favorite temporal logic specifications , 1996, SIGSOFT '96.

[47]  Carolina Cruz-Neira,et al.  Automated testing of virtual reality application interfaces , 2003 .

[48]  Shing-Chi Cheung,et al.  PAT: A pattern classification approach to automatic reference oracles for the testing of mesh simplification programs , 2009, J. Syst. Softw..

[49]  Mark Segal,et al.  The OpenGL Graphics System: A Specification , 2004 .

[50]  Shing-Chi Cheung,et al.  Automatic goal-oriented classification of failure behaviors for testing XML-based multimedia software applications: An experimental case study , 2006, J. Syst. Softw..

[51]  R. L. Cook,et al.  Stochastic simplification of aggregate detail , 2007, SIGGRAPH 2007.

[52]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[53]  Mary Lou Soffa,et al.  Automated test oracles for GUIs , 2000, SIGSOFT '00/FSE-8.

[54]  T. H. Tse,et al.  Piping Classification to Metamorphic Testing: An Empirical Study towards Better Effectiveness for the Identification of Failures in Mesh Simplification Programs , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[55]  Christopher DeCoro,et al.  Real-time mesh simplification using the GPU , 2007, SI3D.