Abstract
Software debugging or fault localization is a very significant task in software development and maintenance, which directly determines the quality of software. Traditional methods of fault localization rely on manual investigation, which takes too much time in large-scale software development. To mitigate this problem, many automatic fault localization techniques have been proposed which can effectively lighten the burden of programmers. However, the quality of these techniques is not enough to meet the practical requirements. In order to improve the accuracy of fault localization, we propose LBFL, a LambdaMart-based high-accuracy approach for software automatic fault localization, which can integrate software’s diversified features and achieve very high accuracy. To realize that, LBFL first extracts the static and dynamic features and normalizes them. Then these features are gathered on LambdaMart algorithm for training. Finally, LBFL sorts the code statements according to the model and generates a list which can help developers to locate faults. Exhaustive experiments indicate that LBFL can locate 76 faults in Top-1, which has at least 217% improvements over nine single techniques and has 55% improvements over ABFL approach on the Defects4J dataset.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: IEEE/ACM International Conference Automated Software Engineering, pp. 273–282 (2005)
Abreu, R., Zoeteweij, P., Van Gemund, A.J.: On the accuracy of spectrum-based fault localization. In: TAICPART-MUTATION, pp. 89–98 (2007)
Jones, J.A., Harrold, M.J., Stasko, J.: Visualization of test information to assist fault localization. In: Proceedings International Conference Software Engineering, pp. 467–477 (2002)
Papadakis, M., Le Traon, Y.: Using mutants to locate unknown faults. In: Proceedings of IEEE International Conference Software Testing Verification Validation, pp. 691–700 (2012)
Papadakis, M., Le Traon, Y.: Effective fault localization via mutation analysis: a selective mutation approach. In: Proceedings of ACM Symposium Applied Computing, pp. 1293–1300 (2014)
Peng, Z., Xiao, X., Hu, G., Sangaiah, A.K., Atiquzzaman, M., Xia, S.: ABFL: an autoencoder based practical approach for software fault localization. Inf. Sci. 510, 108–121 (2020)
Kim, Y., Mun, S., Yoo, S., Kim, M.: Precise learn-to-rank fault localization using dynamic and static features of target programs. ACM Trans. Softw. Eng. Methodol. 28(4), 1–34 (2019)
Chaparro, O.: Improving bug reporting, duplicate detection, and localization. In: IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 421–424 (2017)
Rahman, M.M., Roy, C.K.: Improving IR-based bug localization with context-aware query reformulation. In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 621–632 (2018)
Zhang, J., Xie, R., Ye, W., Zhang, Y., Zhang, S.: Exploiting code knowledge graph for bug localization via bi-directional attention. In: Proceedings of the 28th International Conference on Program Comprehension, pp. 219–229 (2020)
Christi, A., Olson, M.L., Alipour, M.A., Groce, A.: Reduce before you localize: delta-debugging and spectrum-based fault localization. In: IEEE International Symposium on Software Reliability Engineering Workshops, pp. 184–191 (2018)
Aribi, N., Lazaar, N., Lebbah, Y., Loudni, S., Maamar, M.: A multiple fault localization approach based on multicriteria analytical hierarchy process. In: IEEE International Conference on Artificial Intelligence Testing, pp. 1–8 (2019)
Kim, J., Kim, J., Lee, E.: Poster: a novel variable-centric fault localization technique. In: Proceedings of International Conference Software Engineering, pp. 252–253 (2018)
Sun, S., Guo, J., Zhao, R., Li, Z.: Search-based efficient automated program repair using mutation and fault localization. In: Proceedings of International Computing Software Applied Conference, vol. 1, pp. 174-183 (2018)
Wang, H., Du, B., He, J., Liu, Y., Chen, X.: IETCR: an information entropy based test case reduction strategy for mutation-based fault localization. IEEE Access 8, 124297–124310 (2020)
Vancsics, B.: NFL: neighbor-based fault localization technique. In: IEEE 1st International Workshop on Intelligent Bug Fixing (IBF), pp. 17–22 (2019)
Li, Z., Bai, X., Wang, H., Liu, Y.: IRBFL: an information retrieval based fault localization approach. In: COMPSAC, pp. 991–996 (2020)
Nguyen, S.: Configuration-dependent fault localization. In: ICSE-Companion, pp. 156–158 (2019)
Horváth, F., Lacerda, V.S., Beszédes, Á., Vidács, L., Gyimóthy, T.: A new interactive fault localization method with context aware user feedback. In: IEEE 1st International Workshop on Intelligent Bug Fixing (IBF), pp. 23–28 (2019)
Li, X., Li, W., Zhang, Y., Zhang, L.: DeepFL: integrating multiple fault diagnosis dimensions for deep fault localization. In: Proceedings of ACM SIGSOFT International Symposium Software Testing Analysis, pp. 169–180 (2019)
Li, P., Jiang, M., Ding, Z.: Fault localization with weighted test model in model transformations. IEEE Access 8, 14054–14064 (2020)
Neelofar, N., Naish, L., Lee, J., Ramamohanarao, K.: Improving spectral-based fault localization using static analysis. Softw. Pract. Exper. 47(11), 1633–1655 (2017)
Zou, D., Liang, J., Xiong, Y., Ernst, M.D., Zhang, L.: An empirical study of fault localization families and their combinations. IEEE Trans. Softw. Eng. (2019)
Jones, J.A., Harrold, M.J.: Empirical evaluation of the Tarantula automatic fault-localization technique. In: IEEE/ACM International Conference Automation Software Enginering, pp. 273–282 (2005)
Chen, M.Y., Kiciman, E., Fratkin, E., Fox, A., Brewer, E.: Pinpoint: problem determination in large, dynamic internet services. In: Proceedings of International Conference on Dependable Systems and Networks, pp. 595–604 (2002)
Abreu, R., Zoeteweij, P., Van Gemund, A.J.: Spectrum-based multiple fault localization. In: Proceedings of IEEE/ACM Interanational Conference Automation Software Engineering, pp. 88–99 (2009)
Naish, L., Lee, H.J., Ramamohanarao, K.: A model for spectra-based software diagnosis. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(3), 1–32 (2011)
Xie, X., Chen, T.Y., Kuo, F.C., Xu, B.: A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization. ACM Trans. Softw. Eng. Methodol. 22(4), 1–40 (2013)
Yoo, S.: Evolving human competitive spectra-based fault localisation techniques. In: International Symposium on Search Based Software Engineering, pp. 244–258 (2012)
Papadakis, M., Le Traon, Y.: Metallaxis-FL: mutation-based fault localization. Softw. Test. Verification Reliab. 25(5–7), 605–628 (2015)
Burges, C.J.: From ranknet to LambdaRank to LambdaMart: an overview. Learning 1123–581, 81 (2010)
Acknowledgment
This work is supported in part by the National Natural Science Foundation of China (62004077, 61972219), the RD Program of Shenzhen (JCYJ20190813174403598, SGDX20190918101201696), the National Key Research and Development Program of China (2018YFB1800601), the Overseas Research Cooperation Fund of Tsinghua Shenzhen International Graduate School (HW2021013).
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
Xiao, Y., Xiao, X., Tian, F., Hu, G. (2021). A LambdaMart-Based High-Accuracy Approach for Software Automatic Fault Localization. In: Liu, Z., Wu, F., Das, S.K. (eds) Wireless Algorithms, Systems, and Applications. WASA 2021. Lecture Notes in Computer Science(), vol 12938. Springer, Cham. https://doi.org/10.1007/978-3-030-86130-8_20
Download citation
DOI: https://doi.org/10.1007/978-3-030-86130-8_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-86129-2
Online ISBN: 978-3-030-86130-8
eBook Packages: Computer ScienceComputer Science (R0)