Skip to main content

CSFL: Fault Localization on Real Software Bugs Based on the Combination of Context and Spectrum

  • Conference paper
  • First Online:
Dependable Software Engineering. Theories, Tools, and Applications (SETTA 2021)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 13071))

Abstract

Spectrum-based fault localization has been intensively studied recently. Previous studies have shown that the traditional spectrum-based fault localization applies statistical analysis on the coverage information about failed or passed tests to calculate the suspiciousness of program elements by specific formula. However, the traditional spectrum-based fault localization does not consider the propagation of faults, it only counts whether a single program element is covered by failed or passed tests. In this work, we propose an approach of Context and Spectrum based Fault Localization (CSFL), which combines program context analysis with spectrum for fault localization. Program context can not only improve the effectiveness of fault localization, but also provides help for developers. CSFL has been studied on 414 real bugs from the widely used Defects4J benchmark. The experimental results show that CSFL outperforms the SBFL techniques (e.g., localizing 61 more faults within Top-1). Furthermore, we also investigate the time cost of CSFL.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Similar content being viewed by others

References

  1. Harrold, M.J., Rothermel, G., Sayre, K., Wu, R., Yi, L.: An empirical investigation of the relationship between spectra differences and regression faults. J. Softw. Test., Verication, Reliab. 10(3), 171–194 (2000)

    Article  Google Scholar 

  2. Mike, P., Yves, L.T.: Metallaxis-FL: mutation-based fault localization. J. Softw. Test., Verication, Reliab. 25(5–7), 605–628 (2015)

    Google Scholar 

  3. Li, X., Li, W., Zhang, Y., Zhang, L.: DeepFL: integrating multiple fault diagnosis dimensions for deep fault localization. In: Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2019), Association for Computing Machinery, pp. 169–180 (2019)

    Google Scholar 

  4. Reps, T., Ball, T., Das, M., Larus, J.: The use of program profiling for software maintenance with applications to the year 2000 problem. In: Jazayeri, M., Schauer, H. (eds.) ESEC/SIGSOFT FSE -1997. LNCS, vol. 1301, pp. 432–449. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63531-9_29

    Chapter  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, pp. 273–282 (2005)

    Google Scholar 

  6. Abreu, R., Zoeteweij, P., Van Gemund, A.J.: An evaluation of similarity coefficients for software fault localization. In: Dependable Computing, 2006. PRDC06. 12th Pacifjc Rim International Symposium on, pp. 39–46 (2006)

    Google Scholar 

  7. Wong, W.E., Debroy, V., Li, Y., Gao, R.: Software fault localization using dstar (d*). In: Software Security and Reliability (SERE), In: 2012 IEEE Sixth International Conference on, pp. 21–30 (2012)

    Google Scholar 

  8. Abreu, R., Zoeteweij, P., Van Gemund, A.J.: On the accuracy of spectrum-based fault localization. In: Testing: Academic and Industrial Conference Practice and Research Techniques-MUTATION, TAICPART-MUTATION 2007, pp. 89–98 (2007)

    Google Scholar 

  9. Naish, L., Lee, H.J., Ramamohanarao, K.: A model for spectra based software diagnosis. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(3), 11 (2011)

    Article  Google Scholar 

  10. Ma, P., Wang, Y., Su, X., Wang, T.: A novel fault localization method with fault propagation context analysis. In: 2013 Third International Conferenceon Instrumentation, Measurement, Computer, Communication and Control, Shenyang, pp. 1194–1199 (2013)

    Google Scholar 

  11. Wang, Y., Huang, Z., Li, Y., Fang, B.: Lightweight fault localization combined with fault context to improve fault absolute rank. Sci. China Inf. Sci. 60(9), 092113:1-092113:16 (2017)

    Google Scholar 

  12. Horvth, F., Lacerda, V.S., Beszdes, Á., Vidcs, L., Gyimthy, T.: A new interactive fault localization method with context aware user feedback. In: 2019 IEEE 1st International Workshop on Intelligent Bug Fixing (IBF), pp. 23–28 (2019)

    Google Scholar 

  13. Zhang, Z., Tan, Q., Mao, X., et al.: Effective fault localization approach based on enhanced contexts. J. Softw. 30(2), 266–281 (2019)

    Google Scholar 

  14. Pearson, S., et al.: Evaluating and improving fault localization. In: International Conference on Software Engineering, pp. 609–620 (2017)

    Google Scholar 

  15. Just, R., Jalali, D., Ernst, M.D.: Defects4J: a database of existing faults to enable controlled testing studies for Java programs. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), pp. 437–440 (2014)

    Google Scholar 

  16. Collofello, J.S., Cousins, L.: Towards automatic software fault localization through decision-to-decision path analysis. In: Proceedings of National Computer Conference, pp. 539–544 (1987)

    Google Scholar 

  17. Agrawal, H., DeMillo, R.A., Spafford, E.H.: An execution backtracking approach to program debugging. IEEE Softw. 8(5), 21–26 (1991)

    Article  Google Scholar 

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

    Article  Google Scholar 

  19. Xie, X., Wong, W., Chen, T., Xu, B.: Spectrum-based fault localization: testing oracles are no longer mandatory. In: Proceedings of the 11th International Conference on Quality Software, pp. 1–10 (2011)

    Google Scholar 

  20. Xie, X., Chen, T.Y., Kuo, F.-C., Baowen, X.: A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization. ACM Trans. Softw. Eng. Methodol. 22(4), 1–40 (2013). https://doi.org/10.1145/2522920.2522924

    Article  Google Scholar 

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

    Article  Google Scholar 

  22. Artzi, S., Kiezun, A., et al.: Finding bugs in web applications using dynamic test generation and explicit-state model checking. IEEE Trans. Softw. Eng. 36(4), 474–494 (2010)

    Article  Google Scholar 

  23. https://bitbucket.org/rjust/fault-localization-data

  24. Herman, P.M.: A data flow analysis approach to program testing. Aust. Comput. J. 8(3), 92–96 (1976)

    MATH  Google Scholar 

  25. Martinez, M., Durieux, T., Xuan, J., Sommerard, R., Monperrus, M.: Automatic repair of real bugs: an experience report on the defects4j dataset (2015). arXiv preprintarXiv:1505.07002

  26. https://gzoltar.com/

  27. Jiang, J., Wang, R., Xiong, Y., Chen, X., Zhang, L.: combining spectrum-based fault localization and statistical debugging: an empirical study. In: 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 502–514 (2019)

    Google Scholar 

  28. Reis, S., Abreu, R., d’Amorim, M.: Demystifying the combination of dynamic slicing and spectrum-based fault localization. In: Twenty Eighth International Joint Conference on Artificial Intelligence IJCAI 19, pp. 4760–4766 (2019)

    Google Scholar 

  29. https://github.com/soot-oss/soot

  30. Chen, M.Y., Kiciman, E., Fratkin, E., Fox, A., Brewer, E.: Pinpoint: problem determination in large, dynamic Internet services. In: Proceedings International Conference on Dependable Systems and Networks, pp. 595–604 (2002)

    Google Scholar 

  31. Wong, W.E., Debroy, V., Choi, B.: A family of code coverage-based heuristics for effective fault localization. J. Syst. Softw. 83(2), 188–208 (2010)

    Article  Google Scholar 

  32. Zeller, A.: Isolating cause-effect chains from computer programs. In: Proceedings of the 10th ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 1–10 (2002)

    Google Scholar 

  33. Baudry, B., Fleurey, F., Traon, Y.L.: Improving test suites for efficient fault localization. In: 28th international conference on Software engineering, pp. 82–91 (2006)

    Google Scholar 

  34. Yu, Y., Jones, J.A., Harrold, M.J.: An empirical study of the effects of test-suite reduction on fault localization. In: International Conference on Software Engineering (ICSE), pp. 201–210 (2008)

    Google Scholar 

  35. Kim, J., Kim, J., Lee, E.: Vfl: Variable-based fault localization. Inf. Softw. Technol. 107, 179–191 (2019)

    Article  MathSciNet  Google Scholar 

  36. Liu, C., Ma, C., Zhang, T.: Improving spectrum-based fault localization using quality assessment and optimization of a test suite. In: 2020 IEEE 20th International Conference on Software Quality, Reliability and Security Companion (QRS-C), pp. 72–78 (2020)

    Google Scholar 

  37. Elmishali, A., Stern, R., Kalech, M.: Data-augmented software diagnosis. In: Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, pp. 4003–4009 (2016)

    Google Scholar 

Download references

Acknowledgment

The authors wish to thank the reviewers and editors for suggesting improvements and for their helpful comments. This work was supported in part by National Natural Science Foundation of China under grant No. 61673384.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shujuan Jiang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Yan, Y., Jiang, S., Zhang, S., Huang, Y. (2021). CSFL: Fault Localization on Real Software Bugs Based on the Combination of Context and Spectrum. In: Qin, S., Woodcock, J., Zhang, W. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2021. Lecture Notes in Computer Science(), vol 13071. Springer, Cham. https://doi.org/10.1007/978-3-030-91265-9_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-91265-9_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-91264-2

  • Online ISBN: 978-3-030-91265-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics