Neural Networks as Artificial Specifications

In theory, a neural network can be trained to act as an artificial specification for a program by showing it samples of the programs executions. In practice, the training turns out to be very hard. Programs often operate on discrete domains for which patterns are difficult to discern. Earlier experiments reported too much false positives. This paper revisits an experiment by Vanmali et al. by investigating several aspects that were uninvestigated in the original work: the impact of using different learning modes, aggressiveness levels, and abstraction functions. The results are quite promising.

[1]  Koen Claessen,et al.  QuickCheck: a lightweight tool for random testing of Haskell programs , 2011, SIGP.

[2]  Stephen McCamant,et al.  The Daikon system for dynamic detection of likely invariants , 2007, Sci. Comput. Program..

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

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

[5]  Geoffrey E. Hinton,et al.  Deep Learning , 2015, Nature.

[6]  Leonardo Mariani,et al.  Automated Identification of Failure Causes in System Logs , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[7]  Tien-Dung Cao,et al.  Automated Runtime Verification for Web Services , 2010, 2010 IEEE International Conference on Web Services.

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

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

[10]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

[11]  I. S. W. B. Prasetya T3: Benchmarking at Third Unit Testing Tool Contest , 2015, 2015 IEEE/ACM 8th International Workshop on Search-Based Software Testing.

[12]  Tanja E. J. Vos,et al.  AB=ᗺA: execution equivalence as a new type of testing oracle , 2015, SAC.

[13]  I. S. W. B. Prasetya T3i: a tool for generating and querying test suites for Java , 2015, ESEC/SIGSOFT FSE.

[14]  Gordon Fraser,et al.  EvoSuite: automatic test suite generation for object-oriented software , 2011, ESEC/FSE '11.