Skip to main content

A Novel Approach of Software Fault Prediction Using Deep Learning Technique

  • Chapter
  • First Online:
Automated Software Engineering: A Deep Learning-Based Approach

Part of the book series: Learning and Analytics in Intelligent Systems ((LAIS,volume 8))

Abstract

Now-a-days, failure of the software is unavoidable due to increasing size and complexity of software. So, fault finding is necessary for removing the software faults. Spectrum-based fault localization is most popular technique to find the faulty statements of a given program. Still, there are some limitations also. In case of large software, it is very hard and time taking to test all possible scenarios via traditional approach. The machine learning model is an interesting approach for solving this. Recently, deep learning is widely used for improving the fault finding techniques. Deep learning models are based on the architecture of neural network. The neural network architectures based on input layer, hidden layer(s) and output layer. Convolution Neural Network (CNN) is a well-known architecture for deep learning. The network is trained with large amounts of data and neural network architectures that learn the features directly from the information. So, there is no need of manual feature extraction. This technique can capable of finding the suspicious score of each program statement. Using this technique, we can collect the large amount of data from the test cases and extract the important features. As pooling layer of CNN model reduces the input size and complexity of the model, so it speeds up the training process. This framework can also be able to calculate the suspicious score of each statement and accordingly assign the rank.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 119.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 159.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 159.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. F. Agostinelli, M. Hoffman, P. Sadowski, P. Baldi, Learning activation functions to improve deep neural networks. ArXiv preprint arXiv:1412.6830 (2014)

  2. D. Britz, Understanding convolutional neural networks for NLP (2015). http://www.wildml.com/2015/11/understanding-convolutional-neuralnetworks-for-nlp/. Visited on 11 July 2015

  3. J. Campos, A. Riboira, A. Perez, R. Abreu, Gzoltar: an eclipse plug-in for testing and debugging. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ACM, 2012), pp. 378–381

    Google Scholar 

  4. S. Chakraborty, Y. Li, M. Irvine, R. Saha, B. Ray, Entropy guided spectrum based bug localization using statistical language model. ArXiv preprint arXiv:1802.06947 (2018)

  5. N. Chauhan, Software Testing: Principles and Practices (Oxford University Press, 2010)

    Google Scholar 

  6. H.A. de Souza, M.L. Chaim, F. Kon, Spectrum-based software fault localization: a survey of techniques, advances, and challenges. ArXiv preprint arXiv:1607.04347 (2016)

  7. H.F. Eniser, S. Gerasimou, A. Sen, Deepfault: fault localization for deep neural networks. ArXiv preprint arXiv:1902.05974 (2019)

    Chapter  Google Scholar 

  8. P. Fritzson, N. Shahmehri, M. Kamkar, T. Gyimothy, Generalized algorithmic debugging and testing. ACM Lett. Programm. Lang. Syst. (LOPLAS) 1(4), 303–322 (1992)

    Article  Google Scholar 

  9. M.W. Gardner, S. Dorling, Artificial neural networks (the multilayer perceptron) a review of applications in the atmospheric sciences. Atmos. Environ. 32(14–15), 2627–2636 (1998)

    Article  Google Scholar 

  10. X. Glorot, Y. Bengio, Understanding the difficulty of training deep feedforward neural networks, in Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics (2010), pp. 249–256

    Google Scholar 

  11. I. Goodfellow, Y. Bengio, A. Courville, Deep Learning (MIT Press, 2016)

    Google Scholar 

  12. X. Guo, L. Chen, C. Shen, Hierarchical adaptive deep convolution neural network and its application to bearing fault diagnosis. Measurement 93, 490–502 (2016)

    Article  Google Scholar 

  13. R. Hecht-Nielsen, Theory of the backpropagation neural network, in Neural Networks for Perception (Elsevier, 1992), pp. 65–93

    Google Scholar 

  14. G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, R.R. Salakhutdinov, Improving neural networks by preventing co-adaptation of feature detectors. ArXiv preprint arXiv:1207.0580 (2012)

  15. S. Hochreiter, The vanishing gradient problem during learning recurrent neural nets and problem solutions. Int. J. Uncertainty Fuzziness Knowl.-Based Syst. 6(02), 107–116 (1998)

    Article  Google Scholar 

  16. A.K. Jain, J. Mao, K. Mohiuddin, Artificial neural networks: a tutorial. Computer 3, 31–44 (1996)

    Article  Google Scholar 

  17. A. Krizhevsky, I. Sutskever, G.E. Hinton, Imagenet classification with deep convolutional neural networks, in Advances in Neural Information Processing Systems (2012), pp. 1097–1105

    Google Scholar 

  18. Y. LeCun, Y. Bengio, G. Hinton, Deep learning. Nature 521(7553), 436 (2015)

    Article  Google Scholar 

  19. B.K. Natarajan, Machine Learning: A Theoretical Approach (Elsevier, 2014)

    Google Scholar 

  20. S.K. Pal, S. Mitra, Multilayer perceptron, fuzzy sets, and classification. IEEE Trans. Neural Netw. 3(5), 683–697 (1992)

    Article  Google Scholar 

  21. H.L. Ribeiro, H.A. de Souza, R.P.A. de Araujo, M.L. Chaim, F. Kon, Jaguar: a spectrum-based fault localization tool for real-world software, in 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST) (IEEE, 2018), pp. 404–409

    Google Scholar 

  22. J. Singh, P.M. Khilar, D.P. Mohapatra, Code refactoring using slice-based cohesion metrics and aspect-oriented programming. Int. J. Bus. Inf. Syst. 27(1), 45–68 (2018)

    Google Scholar 

  23. D.F. Specht, Probabilistic neural networks. Neural Netw. 3(1), 109–118 (1990)

    Article  Google Scholar 

  24. C. Szegedy, A. Toshev, D. Erhan, Deep neural networks for object detection, in Advances in Neural Information Processing Systems (2013), pp. 2553–2561

    Google Scholar 

  25. G.M. Wambugu, K. Mwiti, Automatic debugging approaches: a literature review (2017)

    Google Scholar 

  26. W.E. Wong, V. Debroy, R. Gao, Y. Li, The dstar method for effective software fault localization. IEEE Trans. Reliab. 63(1), 290–308 (2014)

    Article  Google Scholar 

  27. W. Zaremba, I. Sutskever, O. Vinyals, Recurrent neural network regularization. ArXiv preprint arXiv:1409.2329 (2014)

  28. M. Zhang, X. Li, L. Zhang, S. Khurshid, Boosting spectrum-based fault localization using pagerank, in Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ACM, 2017), pp. 261–272

    Google Scholar 

  29. Z. Zhang, Y. Lei, X. Mao, P. Li, in CNN-FL: an effective approach for localizing faults using convolutional neural networks, in 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) (IEEE, 2019), pp. 445–455

    Google Scholar 

  30. Z. Zhang, Y. Lei, Q. Tan, X. Mao, P. Zeng, X. Chang, Deep learning-based fault localization with contextual information. IEICE Trans. Inf. Syst. 100(12), 3027–3031 (2017b)

    Article  Google Scholar 

  31. W. Zheng, D. Hu, J. Wang, Fault localization analysis based on deep neural network, in Mathematical Problems in Engineering (2016)

    Google Scholar 

  32. Y. Zheng, Z. Wang, X. Fan, X. Chen, Z. Yang, Localizing multiple software faults based on evolution algorithm. J. Syst. Softw. 139, 107–123 (2018)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ghosh, D., Singh, J. (2020). A Novel Approach of Software Fault Prediction Using Deep Learning Technique. In: Automated Software Engineering: A Deep Learning-Based Approach. Learning and Analytics in Intelligent Systems, vol 8. Springer, Cham. https://doi.org/10.1007/978-3-030-38006-9_5

Download citation

Publish with us

Policies and ethics