Skip to main content
Log in

Lightweight fault localization combined with fault context to improve fault absolute rank

  • Research Paper
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

Abstract

Lightweight fault localization (LFL), which outputs a list of suspicious program entities in descending order based on their likelihood to be a root fault, is a popular method used by programmers to assist them in debugging. However, owing to the nature of program structures, it is impossible for LFL to always rank the root faulty program entity at the top of a ranking list. Recently, Xia et al. noted in their study that programmers inspect the first top-K-ranked program entities outputted by an LFL tool in sequence. Therefore, it is of practical significance to further improve the absolute rank of those buggy programs by using LFL if the root fault is ranked higher. To solve this issue, we propose a new LFL combined with a fault context to improve the fault absolute rank. We conduct experiments in which we apply our proposed approach to seven Siemens benchmark programs. The results show that by combining the suspiciousness scores of program entities with their fault-context suspiciousness scores that are based on an LFL called Dstar, our approach can improve the fault absolute rank with an effectiveness rate of 35.7% for 129 faulty versions from the seven benchmark programs. It should be noted that our approach can obtain an average improvement of 65.18% for those improved programs to which LFL can be effectively applied, and that there were improvements to seven top-ranked root faults of buggy programs.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Wong W E, Gao R, Li Y, et al. A survey on software fault localization. IEEE Trans Softw Eng, 2016, 42: 707–740

    Article  Google Scholar 

  2. Chen M Y, Kiciman E, Fratkin E, et al. Pinpoint: problem determination in large, dynamic internet services. In: Proceedings of International Conference on Dependable Systems and Networks, Bethesda, 2002. 595–604

    Chapter  Google Scholar 

  3. Jones J A, Harrold M J, Stasko J. Visualization of test information to assist fault localization. In: Proceedings of the 24th International Conference on Software Engineering, Orlando, 2002. 467–477

    Google Scholar 

  4. Abreu R, Zoeteweij P, Golsteijn R, et al. A practical evaluation of spectrum-based fault localization. J Syst Softw, 2009, 82: 1780–1792

    Article  Google Scholar 

  5. Jones J A, Harrold M J. Empirical evaluation of the tarantula automatic fault-localization technique. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering. Long Beach: ACM, 2005. 273–282

    Chapter  Google Scholar 

  6. Parnin C, Orso A. Are automated debugging techniques actually helping programmers? In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, Toronto, 2011. 199–209

    Google Scholar 

  7. Kochhar P S, Xia X, Lo D, et al. Practitioners’ expectations on automated fault localization. In: Proceedings of the 25th International Symposium on Software Testing and Analysis, Saarbrcken, 2016. 165–176

    Google Scholar 

  8. Xie X, Liu Z, Song S, et al. Revisit of automatic debugging via human focus-tracking analysis. In: Proceedings of the 38th International Conference on Software Engineering, Austin, 2016. 808–819

    Google Scholar 

  9. Xia X, Bao L, Lo D, et al. “Automated debugging considered harmful” considered harmful: a user study revisiting the usefulness of spectra-based fault localization techniques with professionals using real bugs from large systems. In: Proceedings of 2016 IEEE International Conference on Software Maintenance and Evolution. Raleigh: IEEE, 2016. 267–278

    Chapter  Google Scholar 

  10. Thung F, Lo D, Jiang L. Are faults localizable? In: Proceedings of the 9th IEEE Working Conference on Mining Software Repositories, Zurich, 2012. 74–77

    Google Scholar 

  11. Le T D B, Lo D, Thung F. Should I follow this fault localization tool’s output? Automated prediction of fault localization effectiveness. Empir Softw Eng, 2015, 20: 1237–1274

    Article  Google Scholar 

  12. Do H, Elbaum S, Rothermel G. Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empir Softw Eng, 2005, 10: 405–435

    Article  Google Scholar 

  13. Wong W E, Debroy V, Gao R Z, et al. The Dstar method for effective software fault localization. IEEE Trans Reliab, 2014, 63: 290–308

    Article  Google Scholar 

  14. Harrold M J, Rothermel G, Sayre K, et al. An empirical investigation of the relationship between spectra differences and regression faults. Software Test Verif Reliab, 2000, 10: 171–194

    Article  Google Scholar 

  15. Choi S S, Cha S H, Tappert C C. A survey of binary similarity and distance measures. J Syst Cybern Inf, 2010, 8: 43–48

    Google Scholar 

  16. Renieres M, Reiss S P. Fault localization with nearest neighbor queries. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering, Montreal, 2003. 30–39

    Google Scholar 

  17. Liblit B, Naik M, Zheng A X, et al. Scalable statistical bug isolation. ACM SIGPLAN Notices, 2005, 40: 15–26

    Article  Google Scholar 

  18. Liu C, Yan X, Fei L, et al. SOBER: statistical model-based bug localization. ACM SIGSOFT Software Eng Notes, 2005, 30: 286–295

    Article  Google Scholar 

  19. Wong W E, Debroy V, Golden R, et al. Effective software fault localization using an RBF neural network. IEEE Trans Reliab, 2012, 61: 149–169

    Article  Google Scholar 

  20. Wong W E, Debroy V, Xu D X. Towards better fault localization: a crosstab-based statistical approach. IEEE Trans Syst Man Cybern Part C-Appl Rev, 2012, 42: 378–396

    Article  Google Scholar 

  21. Yu Y, Jones J A, Harrold M J. An empirical study of the effects of test-suite reduction on fault localization. In: Proceedings of the 30th International Conference on Software Engineering. Leipzig: ACM, 2008. 201–210

    Google Scholar 

  22. Xia X, Gong L, Le T D B, et al. Diversity maximization speedup for localizing faults in single-fault and multi-fault programs. Autom Softw Eng, 2016, 23: 43–75

    Article  Google Scholar 

  23. Xie X, Wong W E, Chen T Y, et al. Spectrum-based fault localization: testing oracles are no longer mandatory. In: Proceedings of the 11th International Conference on Quality Software, Madrid, 2010. 1–10

    Google Scholar 

  24. Gong D D, Wang T T, Su X H, et al. A test-suite reduction approach to improving fault-localization effectiveness. Comput Lang Syst Struct, 2013, 39: 95–108

    Google Scholar 

  25. Lo D, Xia X. Fusion fault localizers. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, Vasteras, 2014. 127–138

    Google Scholar 

  26. Santelices R, Jones J, Yu Y, et al. Lightweight fault-localization using multiple coverage types. In: Proceedings of IEEE 31st International Conference on Software Engineering, Vancouver, 2009. 56–66

    Google Scholar 

  27. Zhang Z, Chan W K, Tse T, et al. Capturing propagation of infected program states. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Amsterdam, 2009. 43–52

    Google Scholar 

  28. Naish L, Lee H J, Ramamohanarao K. Spectral debugging with weights and incremental ranking. In: Proceedings of the 16th Asia-Pacific Software Engineering Conference. Batu Ferringhi: IEEE, 2009. 168–175

    Google Scholar 

  29. Xu S, Xu J, Yang H, et al. An improvement to fault localization technique based on branch-coverage spectra. In: Proceedings of the 39th IEEE Annual Computer Software and Applications Conference. Taichung: IEEE, 2015. 2: 282–287

    Article  Google Scholar 

  30. Baah G K, Podgurski A, Harrold M J. Causal inference for statistical fault localization. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, Trento, 2010. 73–84

    Google Scholar 

Download references

Acknowledgements

This work was supported by National High Technology Research and Development Program of China (863) (Grant No. 2015AA015303), National Natural Science Foundation of China (Grant Nos. 61272083, 61562087, 71371012, 61300170, 61572033), Key Support Program Projects for Outstanding Young Talents of Anhui Province (Grant No. gxyqZD2016124), Advanced Research of National Natural Science Foundation (Grant No. 2016yyzr10), and Anhui Natural Science Foundation (Grant Nos. KJ2016A252, 1608085MF147).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhiqiu Huang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, Y., Huang, Z., Li, Y. et al. Lightweight fault localization combined with fault context to improve fault absolute rank. Sci. China Inf. Sci. 60, 092113 (2017). https://doi.org/10.1007/s11432-017-9112-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11432-017-9112-2

Keywords

Navigation