An Investigation into Effective Fault Localization

  • Chapter
  • First Online:
Intelligent Technologies: Concepts, Applications, and Future Directions

Part of the book series: Studies in Computational Intelligence ((SCI,volume 1028))

  • 186 Accesses

Abstract

Fault localization (FL) is the key activity while debugging a program. Any improvement to this activity leads significant improvement in software development cost. The foremost objective of this research is to improve upon the fault localization (FL) techniques that make use of available test case execution information, such that they should be efficient, effective, and scalable and also able to handle programs with multiple number of faults. To meet the identified objective, we present four different FL techniques. Experimental results manifested that our proposed techniques outperform the existing techniques such as Tarantula, DStar, RBFNN, CNN by examining, on an average 24.46% of less code. Also, our proposed hierarchical FL schemes reduce at least half of the complete search space.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Wong WE, Gao R, Li Y, Abreu R, Wotawa F (2016) A survey on software fault localization. IEEE Trans Softw Eng 42(8):707–740

    Article  Google Scholar 

  2. Agrawal H, Horgan JR, London S, Wong WE (1995) Fault localization using execution slices and dataflow tests. In: Proceedings of the 6th IEEE international symposium on software reliability engineering, Toulouse, France, Oct 1995, pp 143–151

    Google Scholar 

  3. Jones JA, Harrold MJ, Stasko J (2001) Visualization for fault localization. In: Proceedings of ICSE 2001 workshop on software visualization, Canada, May 2001, pp 71–75

    Google Scholar 

  4. Wong WE, Debroy V, Golden R, Xu X, Thuraisingham B (2012) Effective software fault localization using an RBF neural network. IEEE Trans Reliab 61(1):149–169

    Article  Google Scholar 

  5. Wong WE, Debroy V, Gao R, Li Y (2016) The DStar method for effective software fault localization. IEEE Trans Reliab 63(1):290–308

    Article  Google Scholar 

  6. Dutta A, Godboley S (2021) MSFL: a model for fault localization using mutation-spectra technique. In: International conference on lean and Agile software development. Springer, Cham, pp 156–173

    Google Scholar 

  7. Dutta A, Srivastava SS, Godboley S, Mohapatra DP (2021) Combi-FL: neural network and SBFL based fault localization using mutation analysis. J Comput Lang 66:101064

    Google Scholar 

  8. Maru A, Dutta A, Kumar KV, Mohapatra DP (2020) Effective software fault localization using a back propagation neural network. In: Computational intelligence in data mining. Springer, Singapore, pp 513–526

    Google Scholar 

  9. Maru A, Dutta A, Kumar KV, Mohapatra DP (2019) Software fault localization using BP neural network based on function and branch coverage. Evol Intell 1–18

    Google Scholar 

  10. Weiser M (1984) Program slicing. IEEE Trans Software Eng SE-10(4):352–357

    Google Scholar 

  11. Korel B, Laski J (1988) Dynamic program slicing. Inf Process Lett 29(3):155–163

    Article  Google Scholar 

  12. Zhang Z, Lei Y, Mao X, Li P (2019) 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, pp 445–455

    Google Scholar 

  13. Papadakis M, Le Traon Y (2015) Metallaxis-FL: mutation-based fault localization. Softw Test Verification Reliab 25(5–7):605–628

    Article  Google Scholar 

  14. Ferrante J, Ottenstein KJ, Warren JD (1987) The program dependence graph and its use in optimization. ACM Trans Programm Lang Syst (TOPLAS) 9(3):319–349

    Article  Google Scholar 

  15. Wong E, Wei T, Qi Y, Zhao L (2008) A crosstab-based statistical method for effective fault localization. In: Proceedings of 1st international conference on software testing, verification, and validation. IEEE, Apr 2008, pp 42–51

    Google Scholar 

  16. Wong WE, Debroy V, Xu D (2011) Towards better fault localization: a crosstab-based statistical approach. IEEE Trans Syst Man Cybern Part C 42(3):378–396

    Article  Google Scholar 

  17. Wong WE, Qi Y (2009) BP neural network-based effective fault localization. Int J Softw Eng Knowl Eng 19(4):573–597

    Article  Google Scholar 

  18. Zheng W, Hu D, Wang J (2016) Fault localization analysis based on deep neural network. Math Probl Eng

    Google Scholar 

  19. Zhang Z, Yan L, Qing** T, **aoguang M, ** Z, ** C (2017) Deep learning-based fault localization with contextual information. IEICE Trans Inf Syst 100(12):3027–3031

    Article  Google Scholar 

  20. Gupta R, Soffa ML (1995) Hybrid slicing: an approach for refining static slices using dynamic information. In: Symposium on foundations of software engineering, pp 9–40

    Google Scholar 

  21. Naish L, Hua Jie L, Kotagiri R (2011) A model for spectra-based software diagnosis. ACM Trans Softw Eng Methodol (TOSEM) 20, 11(3)

    Google Scholar 

  22. Xu X, Debroy V, Wong WE, Guo D (2011) Ties within fault localization rankings: exposing and addressing the problem. Int J SEKE 21(06):803–827

    Google Scholar 

  23. Cui Z, Jia M, Chen X, Zheng L, Liu X (2020) Improving software fault localization by combining spectrum and mutation. IEEE Access 8:172296–172307

    Article  Google Scholar 

  24. Peng Z, **ao X, Hu G, Sangaiah AK, Atiquzzaman M, **a S (2020) ABFL: an autoencoder based practical approach for software fault localization. Inf Sci 510:108–121

    Article  Google Scholar 

  25. Duda RO, Hart PE (1973) Pattern recognition and scene analysis. Wiley, Hoboken

    Google Scholar 

  26. Mitchell TM (1997) Machine learning. McGraw-Hill, New York, NY, USA

    MATH  Google Scholar 

  27. Wasserman PD (1993) Advanced methods in neural computing. Wiley, Hoboken

    Google Scholar 

  28. Li X, Li W, Zhang Y, Zhang L (2019) DeepFL: integrating multiple fault diagnosis dimensions for deep fault localization. In: Proceedings of the 28th ACM SIGSOFT international symposium on software testing and analysis, pp 169–180

    Google Scholar 

  29. Moon S, Kim Y, Kim M, Yoo S (2014) Ask the mutants: mutating faulty programs for fault localization? In: 2014 Seventh international conference on software testing, verification and validation, pp 153–162

    Google Scholar 

  30. Sridharan M, Fink SJ, Bodik R (2007) Thin slicing. In: Proceedings of the 28th ACM SIGPLAN conference on programming language design and implementation, pp 112–122

    Google Scholar 

  31. Gao R, Eric Wong W (2017) MSeer—an advanced technique for locating multiple bugs in parallel. IEEE Trans Softw Eng 45(3):301–318

    Google Scholar 

  32. Zakari A, Lee SP, Abreu R, Ahmed BH, Rasheed RA (2020) Multiple fault localization of software programs: a systematic literature review. Inf Softw Technol 124:106312

    Google Scholar 

  33. Jones AJ, Bowring FJ, Harrold MJ (2007) Debugging in parallel. In: Proceedings of the 2007 international symposium on software testing and analysis. ACM, pp 16–26

    Google Scholar 

  34. Zakari A, Lee SP, Abreu R, Ahmed BH, Rasheed RA (2020) Multiple fault localization of software programs: a systematic literature review. Inf Softw Technol 124:106312

    Google Scholar 

  35. Everitt BS (1977) The analysis of contingency tables. Chapman and Hall, London

    Google Scholar 

  36. Freeman D (1987) Applied categorical data analysis. Marcel Dekker, Inc

    Google Scholar 

  37. Goodman LA (1984) The analysis of cross-classification data having ordered categories. Harvard University, Cambridge

    Google Scholar 

  38. https://www.scitools.com/

  39. Zhao Q, Ville H, Pasi F (2008) Knee point detection in BIC for detecting the number of clusters. In: International conference on advanced concepts for intelligent vision systems. Springer, Berlin, pp 664–673

    Google Scholar 

  40. Xuan J, Monperrus M (2014) Learning to combine multiple ranking metrics for fault localization. In: 2014 IEEE International conference on software maintenance and evolution. IEEE, pp 191–200

    Google Scholar 

  41. Jones JA, Harrold MJ (2005) Empirical evaluation of the Tarantula automatic fault-localization technique. In: Proceedings of the 20th IEEE/ACM conference on automated software engineering, Long Beach, California, USA, Dec 2005, pp 273–282

    Google Scholar 

  42. Park H-S, Jun C-H (2009) A simple and fast algorithm for K-medoids clustering. Expert Syst Appl 36(2):3336–3341

    Article  Google Scholar 

  43. Knight WR (1966) A computer method for calculating Kendall’s tau with ungrouped data. J Am Stat Assoc 61(314):436–439

    Article  Google Scholar 

  44. Tan PN, Steinbach M, Kumar V (2013) Data mining cluster analysis: basic concepts and algorithms-introduction to data mining. Pearson Publications, London, UK

    Google Scholar 

  45. https://sir.csc.ncsu.edu/portal/index.php

  46. https://github.com/ArpitaDutta/NTS_Repository

  47. Cleve H, Zeller A (2005) Locating causes of program failures. In: Proceedings of the 27th international conference on software engineering, St. Louis, Missouri, USA, May 2005, pp 342–351

    Google Scholar 

  48. Yang Y, Deng F, Yan Y, Gao F (2019) A fault localization method based on conditional probability. In: 2019 IEEE 19th International conference on software quality, reliability and security companion (QRS-C). IEEE, pp 213–218

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arpita Dutta .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Dutta, A., Mitra, P., Mall, R. (2022). An Investigation into Effective Fault Localization. In: Dash, S.R., Lenka, M.R., Li, KC., Villatoro-Tello, E. (eds) Intelligent Technologies: Concepts, Applications, and Future Directions. Studies in Computational Intelligence, vol 1028. Springer, Singapore. https://doi.org/10.1007/978-981-19-1021-0_4

Download citation

Publish with us

Policies and ethics

Navigation