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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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)
Mike, P., Yves, L.T.: Metallaxis-FL: mutation-based fault localization. J. Softw. Test., Verication, Reliab. 25(5–7), 605–628 (2015)
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)
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
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)
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)
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)
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)
Naish, L., Lee, H.J., Ramamohanarao, K.: A model for spectra based software diagnosis. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(3), 11 (2011)
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)
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)
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)
Zhang, Z., Tan, Q., Mao, X., et al.: Effective fault localization approach based on enhanced contexts. J. Softw. 30(2), 266–281 (2019)
Pearson, S., et al.: Evaluating and improving fault localization. In: International Conference on Software Engineering, pp. 609–620 (2017)
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)
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)
Agrawal, H., DeMillo, R.A., Spafford, E.H.: An execution backtracking approach to program debugging. IEEE Softw. 8(5), 21–26 (1991)
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)
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)
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
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)
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)
Herman, P.M.: A data flow analysis approach to program testing. Aust. Comput. J. 8(3), 92–96 (1976)
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
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)
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)
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)
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)
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)
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)
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)
Kim, J., Kim, J., Lee, E.: Vfl: Variable-based fault localization. Inf. Softw. Technol. 107, 179–191 (2019)
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)
Elmishali, A., Stern, R., Kalech, M.: Data-augmented software diagnosis. In: Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, pp. 4003–4009 (2016)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)