Neural Networks as Artificial Specifications

  • I. S. Wishnu B. PrasetyaEmail author
  • Minh An Tran
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11146)


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.


Neural network for software testing Automated oracles 


  1. 1.
    Aggarwal, K., Singh, Y., Kaur, A., Sangwan, O.: A neural net based approach to test oracle. ACM SIGSOFT Softw. Eng. Notes 29(3), 1–6 (2004)CrossRefGoogle Scholar
  2. 2.
    Cao, T.D., Phan-Quang, T.T., Felix, P., Castanet, R.: Automated runtime verification for web services. In: International Conference on Web Services (ICWS). IEEE (2010)Google Scholar
  3. 3.
    Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: ACM SIGPLAN International Conference on Functional Programming (2000)Google Scholar
  4. 4.
    Elyasov, A., Prasetya, W., Hage, J., Rueda, U., Vos, T., Condori-Fernández, N.: AB=BA: execution equivalence as a new type of testing oracle. In: 30th ACM Symposium on Applied Computing. ACM (2015)Google Scholar
  5. 5.
    Ernst, M., et al.: The Daikon system for dynamic detection of likely invariants. Sci. Comput. Program. 69(1), 35–45 (2007)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Fraser, G., Arcuri, A.: EvoSuite: automatic test suite generation for object-oriented software. In: SIGSOFT FSE, pp. 416–419 (2011)Google Scholar
  7. 7.
    Goodfellow, I., Bengio, Y., Courville, A.: Deep Learning. MIT Press, Cambridge (2016)zbMATHGoogle Scholar
  8. 8.
    Joelself: FANN C# NeuralNet float.
  9. 9.
    Kriesel, D.: A brief Introduction on Neural Networks. (2007)
  10. 10.
    Lu, Y., Ye, M.: Oracle model based on RBF neural networks for automated software testing. Inf. Technol. J. 6(3), 469–474 (2007)CrossRefGoogle Scholar
  11. 11.
    Mao, Y., Boqin, F., Li, Z., Yao, L.: Neural networks based automated test oracle for software testing. In: King, I., Wang, J., Chan, L.-W., Wang, D.L. (eds.) ICONIP 2006 Part III. LNCS, vol. 4234, pp. 498–507. Springer, Heidelberg (2006). Scholar
  12. 12.
    Mariani, L., Pastore, F.: Automated identification of failure causes in system logs. In: 19th International Symposium on Software Reliability Engineering. IEEE (2008)Google Scholar
  13. 13.
    Prasetya, I.S.W.B.: T3i: a tool for generating and querying test suites for Java. In: 10th Joint Meeting on Foundations of Software Engineering (FSE). ACM (2015)Google Scholar
  14. 14.
    Vanmali, M., Last, M., Kandel, A.: Using a neural network in the software testing process. Int. J. Intell. Syst. 17(1), 45–62 (2002)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2018

Authors and Affiliations

  1. 1.Utrecht UniversityUtrechtThe Netherlands

Personalised recommendations