A Single-Network ANN-based Oracle to verify logical software modules

Test Oracle is a mechanism to determine if an application executed correctly. In addition, it may be difficult to verify logical software modules due to the complexity of their structures. In this paper, an attempt has been made to study the applications of Artificial Neural Networks as Single-Network Oracles to verify logical modules. First, the logical module under test was modeled by the neural network using a training dataset generated based on the software specifications. Next, the proposed approach was applied to test a subject-registration application; meanwhile, the quality of the proposed oracle is measured by assessing its accuracy, precision, misclassification error and practicality in practice, using mutation testing by implementing two different versions of the case study: a Golden Version and a Mutated Version. The results indicate that neural networks may be reliable and applicative as oracles to verify logical modules.

[1]  James A. Whittaker,et al.  What is software testing? And why is it so hard? , 2000 .

[2]  Robert J. Schalkoff,et al.  Artificial neural networks , 1997 .

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

[4]  Taghi M. Khoshgoftaar,et al.  Predicting testability of program modules using a neural network , 2000, Proceedings 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology.

[5]  Mao Ye,et al.  Neural Networks Based Automated Test Oracle for Software Testing , 2006, ICONIP.

[6]  Mao Ye,et al.  Oracle Model Based on RBF Neural Networks for Automated Software Testing , 2007 .

[7]  Siti Zaiton Mohd Hashim,et al.  A Comparative Study on Automated Software Test Oracle Methods , 2009, 2009 Fourth International Conference on Software Engineering Advances.

[8]  Abraham Kandel,et al.  TEST SET GENERATION AND REDUCTION WITH ARTIFICIAL NEURAL NETWORKS , 2004 .

[9]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[10]  Yi Wang,et al.  Artificial Neural Network for Automatic Test Oracles Generation , 2008, 2008 International Conference on Computer Science and Software Engineering.

[11]  Atif M. Memon,et al.  Designing and comparing automated test oracles for GUI-based software applications , 2007, TSEM.

[12]  Giuseppe A. Di Lucca,et al.  Testing Web applications , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[13]  S. R. Shahamiri,et al.  An automated oracle approach to test decision-making structures , 2010, 2010 3rd International Conference on Computer Science and Information Technology.

[14]  Paul C. Jorgensen Software Testing: A Craftsman''s Approach. Second Edition, CRC Press , 2002 .

[15]  Abhijit S. Pandya,et al.  A neural network approach for predicting software development faults , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[16]  Anne Mette Jonassen Hass Guide to Advanced Software Testing , 2008 .

[17]  Taghi M. Khoshgoftaar,et al.  Exploring the behaviour of neural network software quality models , 1995, Softw. Eng. J..

[18]  Raymond McLeod,et al.  Software Testing: Testing Across the Entire Software Development Life Cycle , 2007 .

[19]  K. K. Aggarwal,et al.  A neural net based approach to Test Oracle , 2004, SOEN.