skip to main content
research-article

Variable-based Fault Localization via Enhanced Decision Tree

Published:21 December 2023Publication History
Skip Abstract Section

Abstract

Fault localization, aiming at localizing the root cause of the bug under repair, has been a longstanding research topic. Although many approaches have been proposed in past decades, most of the existing studies work at coarse-grained statement or method levels with very limited insights about how to repair the bug (granularity problem), but few studies target the finer-grained fault localization. In this article, we target the granularity problem and propose a novel finer-grained variable-level fault localization technique. Specifically, the basic idea of our approach is that fault-relevant variables may exhibit different values in failed and passed test runs, and variables that have higher discrimination ability have a larger possibility to be the root causes of the failure. Based on this, we propose a program-dependency-enhanced decision tree model to boost the identification of fault-relevant variables via discriminating failed and passed test cases based on the variable values. To evaluate the effectiveness of our approach, we have implemented it in a tool called VarDT and conducted an extensive study over the Defects4J benchmark. The results show that VarDT outperforms the state-of-the-art fault localization approaches with at least 268.4% improvement in terms of bugs located at Top-1, and the average improvement is 351.3%.

Besides, to investigate whether our finer-grained fault localization result can further improve the effectiveness of downstream APR techniques, we have adapted VarDT to the application of patch filtering, where we use the variables located by VarDT to filter incorrect patches. The results denote that VarDT outperforms the state-of-the-art PATCH-SIM and BATS by filtering 14.8% and 181.8% more incorrect patches, respectively, demonstrating the effectiveness of our approach. It also provides a new way of thinking for improving automatic program repair techniques.

REFERENCES

  1. [1] Abreu Rui, Zoeteweij Peter, and Gemund Arjan J. C. van. 2006. An evaluation of similarity coefficients for software fault localization. In Pacific Rim International Symposium on Dependable Computing. 3946. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Abreu Rui, Zoeteweij Peter, and Gemund Arjan J. C. Van. 2007. On the accuracy of spectrum-based fault localization. In Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION’07). 8998.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Agrawal Hiralal and Horgan Joseph R.. 1990. Dynamic program slicing. In Programming Language Design and Implementation. Springer, 246256. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Nainar Piramanayagam Arumuga, Chen Ting, Rosin Jake, and Liblit Ben. 2007. Statistical debugging using compound boolean predicates. In International Symposium on Software Testing and Analysis. 515. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Nainar Piramanayagam Arumuga and Liblit Ben. 2010. Adaptive bug isolation. In International Conference on Software Engineering. 255264. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Le Tien-Duy B., Lo David, Goues Claire Le, and Grunske Lars. 2016. A learning-to-rank based fault localization approach using likely invariants. In International Symposium on Software Testing and Analysis. 177188.Google ScholarGoogle Scholar
  7. [7] Baah George K., Podgurski Andy, and Harrold Mary Jean. 2010. Causal inference for statistical fault localization. In International Symposium on Software Testing and Analysis. 12 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Bai Zhuofu, Shu Gang, and Podgurski Andy. 2015. NUMFL: Localizing faults in numerical software using a value-based causal model. In International Conference on Software Testing, Verification and Validation. 110. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Banning John P.. 1979. An efficient way to find the side effects of procedure calls and the aliases of variables. In ACM SIGPLAN Symposium on Principles of Programming Languages. 2941.Google ScholarGoogle Scholar
  10. [10] Benesty Jacob, Chen Jingdong, Huang Yiteng, and Cohen Israel. 2009. Pearson correlation coefficient. In Noise Reduction in Speech Processing. Springer, 1–4.Google ScholarGoogle Scholar
  11. [11] Breiman Leo, Friedman Jerome H., Olshen Richard A., and Stone Charles J.. 1984. Classification and Regression Trees. Taylor & Francis.Google ScholarGoogle Scholar
  12. [12] Briand Lionel C., Labiche Yvan, and Liu Xuetao. 2007. Using machine learning to support debugging with Tarantula. In IEEE International Symposium on Software Reliability Engineering. 10 pages.Google ScholarGoogle Scholar
  13. [13] Campos E. C. and Maia M. d. A.. 2017. Common bug-fix patterns: A large-scale observational study. In ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. 404413. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Chandra Satish, Torlak Emina, Barman Shaon, and Bodik Rastislav. 2011. Angelic debugging. In International Conference on Software Engineering. 10 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Chen Junjie, Liang Yihua, Shen Qingchao, Jiang Jiajun, and Li Shuochuan. 2022. Toward understanding deep learning framework bugs. ACM Trans. Softw. Eng. Methodol. 32, 6 (2022).Google ScholarGoogle Scholar
  16. [16] Chilimbi Trishul M., Liblit Ben, Mehra Krishna, Nori Aditya V., and Vaswani Kapil. 2009. HOLMES: Effective statistical debugging via efficient path profiling. In International Conference on Software Engineering. 3444. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Cooper K. D. and Kennedy K.. 1988. Interprocedural side-effect analysis in linear time. In Programming Language Design and Implementation. Springer, 57–66. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Csallner Christoph, Tillmann Nikolai, and Smaragdakis Yannis. 2008. DySy: Dynamic symbolic execution for invariant inference. In International Conference on Software Engineering. 281290. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Deng Xuelian, Li Yuqing, Weng Jian, and Zhang Jilian. 2019. Feature selection for text classification: A review. Multimed. Tools Applic. 78, 3 (2019), 37973816.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Ernst Michael D., Griswold William G., Kataoka Yoshio, and Notkin David. 1999. Dynamically discovering pointer-based program invariants. In International Conference on Software Engineering, Vol. 373.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Fioraldi Andrea, Maier Dominik, Eißfeldt Heiko, and Heuse Marc. 2020. AFL++: Combining incremental steps of fuzzing research. In USENIX Workshop on Offensive Technologies.Google ScholarGoogle Scholar
  22. [22] Fraser Gordon and Arcuri Andrea. 2011. EvoSuite: Automatic test suite generation for object-oriented software. In European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 416419.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Goradia Tarak. 1993. Dynamic impact analysis: A cost-effective technique to enforce error-propagation. In International Symposium on Software Testing and Analysis. 171181. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Gore Ross, Reynolds Paul F., and Kamensky David. 2011. Statistical debugging with elastic predicates. In International Conference on Automated Software Engineering. 492495. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Gupta Aashish, Sharma Shilpa, Goyal Shubham, and Rashid Mamoon. 2020. Novel XGBoost tuned machine learning model for software bug prediction. In International Conference on Intelligent Engineering and Management. 376380.Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] Hajnal A. and Forgacs I.. 2002. A precise demand-driven definition-use chaining algorithm. In European Conference on Software Maintenance and Reengineering. 7786. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] Hirsch Thomas and Hofer Birgit. 2022. A systematic literature review on benchmarks for evaluating debugging approaches. J. Syst. Softw. 192, C (2022), 17 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Jeffrey Dennis, Gupta Neelam, and Gupta Rajiv. 2008. Fault localization using value replacement. In International Symposium on Software Testing and Analysis. 12 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Jiang Jiajun, Wang Ran, Xiong Yingfei, Chen Xiangping, and Zhang Lu. 2019. Combining spectrum-based fault localization and statistical debugging: An empirical study. In International Conference on Automated Software Engineering. 502514. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Jiang Jiajun, Xiong Yingfei, Zhang Hongyu, Gao Qing, and Chen Xiangqun. 2018. Shaping program repair space with existing patches and similar code. In International Symposium on Software Testing and Analysis.Google ScholarGoogle Scholar
  31. [31] Jiang Lingxiao and Su Zhendong. 2007. Context-aware statistical debugging: From bug predictors to faulty control flow paths. In International Conference on Automated Software Engineering. 184193. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Jones James A. and Harrold Mary Jean. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In International Conference on Automated Software Engineering. 273282.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Jones James A., Harrold Mary Jean, and Stasko John. 2002. Visualization of test information to assist fault localization. In International Conference on Software Engineering.Google ScholarGoogle Scholar
  34. [34] Just René, Jalali Darioush, and Ernst Michael D.. 2014. Defects4J: A database of existing faults to enable controlled testing studies for Java programs. In International Symposium on Software Testing and Analysis. 437440.Google ScholarGoogle Scholar
  35. [35] Kim Jeongho, Kim Jindae, and Lee Eunseok. 2019. VFL: Variable-based fault localization. Inf. Softw. Technol. 107 (2019), 179191. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Kochhar Pavneet Singh, Xia Xin, Lo David, and Li Shanping. 2016. Practitioners’ expectations on automated fault localization. In International Symposium on Software Testing and Analysis. 165176. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Küçük Yiğit, Henderson Tim A. D., and Podgurski Andy. 2021. Improving fault localization by integrating value and predicate based causal inference techniques. In International Conference on Software Engineering. 12 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Le Xuan-Bach D., Chu Duc-Hiep, Lo David, Goues Claire Le, and Visser Willem. 2017. S3: Syntax-and semantic-guided repair synthesis via programming by examples. In 11th Joint Meeting on Foundations of Software Engineering. 593604.Google ScholarGoogle Scholar
  39. [39] Goues Claire Le, Holtschulte Neal, Smith Edward K., Brun Yuriy, Devanbu Premkumar, Forrest Stephanie, and Weimer Westley. 2015. The ManyBugs and IntroClass benchmarks for automated repair of C programs. IEEE Trans. Softw. Eng. 41, 12 (2015), 12361256. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Li Xia, Jiang Jiajun, Benton Samuel, Xiong Yingfei, and Zhang Lingming. 2021. A large-scale study on API misuses in the wild. In International Conference on Software Testing, Verification and Validation. 241252. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  41. [41] Li Xia and Zhang Lingming. 2017. Transforming programs and tests in tandem for fault localization. ACM Program. Lang. 1, OOPLSA (2017), 92:1–92:30. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Li Yi, Wang Shaohua, and Nguyen Tien N.. 2021. Fault localization with code coverage representation learning. In International Conference on Software Engineering. 661673. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. [43] Liblit Ben, Aiken Alex, Zheng Alice X., and Jordan Michael I.. 2003. Bug isolation via remote program sampling. In Programming Language Design and Implementation. Springer, 141–154. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Liblit Ben, Naik Mayur, Zheng Alice X., Aiken Alex, and Jordan Michael I.. 2005. Scalable statistical bug isolation. In Programming Language Design and Implementation. Springer, 15–26. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. [45] Liu Chao, Fei Long, Yan Xifeng, Han Jiawei, and Midkiff S. P.. 2006. Statistical debugging: A hypothesis testing-based approach. IEEE Trans. Softw. Eng. 32, 10 (2006), 831848. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Liu Chao, Yan Xifeng, Fei Long, Han Jiawei, and Midkiff Samuel P.. 2005. SOBER: Statistical model-based bug localization. In European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 286295. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Liu Kui, Koyuncu Anil, Kim Dongsun, and Bissyandé Tegawendé F.. 2019. TBar: Revisiting template-based automated program repair. In International Symposium on Software Testing and Analysis. 12 pages. Google ScholarGoogle Scholar
  48. [48] Lou Yiling, Zhu Qihao, Dong Jinhao, Li Xia, Sun Zeyu, Hao Dan, Zhang Lu, and Zhang Lingming. 2021. Boosting coverage-based fault localization via graph-based representation learning. In European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 13 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Lucia Lucia, Lo David, Jiang Lingxiao, Thung Ferdian, and Budi Aditya. 2014. Extended comprehensive study of association measures for fault localization. J. Softw.: Evolut. Process 26, 2 (2014), 172219.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Madeiral Fernanda, Urli Simon, Maia Marcelo, and Monperrus Martin. 2019. BEARS: An extensible Java bug benchmark for automatic program repair studies. In IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER’19). Retrieved from https://arxiv.org/abs/1901.06024Google ScholarGoogle ScholarCross RefCross Ref
  51. [51] Moon S., Kim Y., Kim M., and Yoo S.. 2014. Ask the mutants: Mutating faulty programs for fault localization. In International Conference on Software Testing, Verification and Validation. 153162. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Papadakis Mike and Traon Yves Le. 2015. Metallaxis-FL: Mutation-based fault localization. Softw. Test. Verif. Reliab. 25, 5–7 (Aug. 2015), 605628. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Pearson Spencer, Campos José, Just René, Fraser Gordon, Abreu Rui, Ernst Michael D., Pang Deric, and Keller Benjamin. 2017. Evaluating and improving fault localization. In International Conference on Software Engineering. 609620.Google ScholarGoogle Scholar
  54. [54] Perez Alexandre and Abreu Rui. 2018. Leveraging qualitative reasoning to improve SFL. In International Joint Conference on Artificial Intelligence. 19351941. Google ScholarGoogle ScholarCross RefCross Ref
  55. [55] Qi Zichao, Long Fan, Achour Sara, and Rinard Martin. 2015. An analysis of patch plausibility and correctness for generate-and-validate patch generation systems. In International Symposium on Software Testing and Analysis. 257269.Google ScholarGoogle Scholar
  56. [56] Quinlan J. Ross. 2014. C4.5: Programs for Machine Learning. Springer.Google ScholarGoogle Scholar
  57. [57] Saha Ripon, Lyu Yingjun, Lam Wing, Yoshida Hiroaki, and Prasad Mukul. 2018. Bugs.jar: A large-scale, diverse dataset of real-world Java bugs. In International Conference on Mining Software Repositories (MSR’18). 1013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. [58] Saha Ripon K., Lyu Yingjun, Yoshida Hiroaki, and Prasad Mukul R.. 2017. ELIXIR: Effective object oriented program repair. In International Conference on Automated Software Engineering. Retrieved from http://dl.acm.org/citation.cfm?id=3155562.3155643Google ScholarGoogle ScholarCross RefCross Ref
  59. [59] Shen Qingchao, Ma Haoyang, Chen Junjie, Tian Yongqiang, Cheung Shing-Chi, and Chen Xiang. 2021. A comprehensive study of deep learning compiler bugs. In European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 968980.Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Shen Shiqi, Kolluri Aashish, Dong Zhen, Saxena Prateek, and Roychoudhury Abhik. 2021. Localizing vulnerabilities statistically from one exploit. In ACM Symposium on Information, Computer and Communications Security (ASIA CCS’21). 537549. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Smith Edward K., Barr Earl T., Goues Claire Le, and Brun Yuriy. 2015. Is the cure worse than the disease? Overfitting in automated program repair. In ACM SIGSOFT Symposium on the Foundations of Software Engineering. 532543.Google ScholarGoogle Scholar
  62. [62] Sohn Jeongju and Yoo Shin. 2017. FLUCCS: Using code and change metrics to improve fault localization. International Symposium on Software Testing and Analysis. 273283. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. [63] Soto Mauricio, Thung Ferdian, Wong Chu-Pan, Goues Claire Le, and Lo David. 2016. A deeper look into bug fixes: Patterns, replacements, deletions, and additions. In Working Conference on Mining Software Repositories. 512515. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. [64] Spuler David A. and Sajeev A. Sayed Muhammed. 1994. Compiler detection of function call side effects. Informatica 18, 2 (1994), 219227.Google ScholarGoogle Scholar
  65. [65] Tan Shin Hwei, Yoshida Hiroaki, Prasad Mukul R., and Roychoudhury Abhik. 2016. Anti-patterns in search-based program repair. In ACM SIGSOFT Symposium on the Foundations of Software Engineering. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. [66] Tian Haoye, Li Yinghua, Pian Weiguo, Kaboré Abdoul Kader, Liu Kui, Habib Andrew, Klein Jacques, and Bissyandé Tegawendé F.. 2022. Predicting patch correctness based on the similarity of failing test cases. ACM Trans. Softw. Eng. Methodol. 31, 4, Article 77 (Aug. 2022), 30 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. [67] Tizpaz-Niari Saeid, Cerny Pavol, Chang Bor-Yuh Evan, and Trivedi Ashutosh. 2018. Differential performance debugging with discriminant regression trees. In AAAI Conference on Artificial Intelligence, Vol. 32.Google ScholarGoogle ScholarCross RefCross Ref
  68. [68] Vieira Susana M., Kaymak Uzay, and Sousa João M. C.. 2010. Cohen’s Kappa coefficient as a performance measure for feature selection. In International Conference on Fuzzy Systems. 18.Google ScholarGoogle ScholarCross RefCross Ref
  69. [69] Wang Bo, Lu Sirui, Jiang Jiajun, and Xiong Yingfei. 2020. Survey of dynamic analysis based program invariant synthesis techniques. J. Softw. 31, 6 (2020), 16811702.Google ScholarGoogle Scholar
  70. [70] Wang Shangwen, Wen Ming, Lin Bo, Wu Hongjun, Qin Yihao, Zou Deqing, Mao Xiaoguang, and Jin Hai. 2020. Automated patch correctness assessment: How far are we? In International Conference on Automated Software Engineering. 13 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. [71] Wen Ming, Chen Junjie, Wu Rongxin, Hao Dan, and Cheung Shing-Chi. 2018. Context-aware patch generation for better automated program repair. In International Conference on Software Engineering.Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. [72] Wen Ming, Xie Zifan, Luo Kaixuan, Chen Xiao, Yang Yibiao, and Jin Hai. 2022. Effective isolation of fault-correlated variables via statistical and mutation analysis. IEEE Trans. Softw. Eng. 49, 4 (2022), 116. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. [73] Widyasari Ratnadira, Prana Gede Artha Azriadi, Haryono Stefanus A., Tian Yuan, Zachiary Hafil Noer, and Lo David. 2022. XAI4FL: Enhancing spectrum-based fault localization with explainable artificial intelligence. In International Conference on Program Comprehension. 499510. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. [74] Witten Ian H., Frank Eibe, Hall Mark A., and Pal Christopher J.. 2016. Data Mining, Fourth Edition: Practical Machine Learning Tools and Techniques (4th ed.). Google ScholarGoogle Scholar
  75. [75] Wong W. E., Debroy V., Gao R., and Li Y.. 2014. The DStar method for effective software fault localization. IEEE Trans. Reliab.1 (Mar. 2014), 290308.Google ScholarGoogle ScholarCross RefCross Ref
  76. [76] Woolson Robert F.. 2007. Wilcoxon signed-rank test. Wiley Encyc. Clinic. Trials (2007), 13. Google ScholarGoogle ScholarCross RefCross Ref
  77. [77] Xin Qi and Reiss Steven P.. 2017. Identifying test-suite-overfitted patches through test case generation. In International Symposium on Software Testing and Analysis. 11 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. [78] Xiong Yingfei, Liu Xinyuan, Zeng Muhan, Zhang Lu, and Huang Gang. 2018. Identifying patch correctness in test-based program repair. In International Conference on Software Engineering.Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. [79] Xiong Yingfei and Wang Bo. 2022. L2S: A framework for synthesizing the most probable program under a specification. ACM Trans. Softw. Eng. Methodol. 31, 3, Article 34 (2022), 45 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. [80] Xuan Jifeng and Monperrus Martin. 2014. Learning to combine multiple ranking metrics for fault localization. In IEEE International Conference on Software Maintenance and Evolution. 191200.Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. [81] Yang Jinqiu, Zhikhartsev Alexey, Liu Yuefei, and Tan Lin. 2017. Better test cases for better automated program repair. In ACM SIGSOFT Symposium on the Foundations of Software Engineering. 831841. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. [82] Ye He, Gu Jian, Martinez Matias, Durieux Thomas, and Monperrus Martin. 2021. Automated classification of overfitting patches with statically extracted code features. IEEE Trans. Softw. Eng. 48, 8 (2021). DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. [83] Zeller Andreas. 2002. Isolating cause-effect chains from computer programs. ACM SIGSOFT Symposium on the Foundations of Software Engineering. 110. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. [84] Zeller Andreas and Hildebrandt Ralf. 2002. Simplifying and isolating failure-inducing input. IEEE Trans. Softw. Eng. 28, 2 (2002), 183200. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. [85] Zeng Muhan, Wu Yiqian, Ye Zhentao, Xiong Yingfei, Zhang Xin, and Zhang Lu. 2022. Fault localization via efficient probabilistic modeling of program semantics. In International Conference on Software Engineering. 12 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. [86] Zhang Haotian, Dong Weiyu, and Lin Jian. 2021. A partial-lifting-based compiling concolic execution approach. In International Conference on Cryptography, Security and Privacy. 123128. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  87. [87] Zhang Xiangyu, Gupta Neelam, and Gupta Rajiv. 2006. Locating faults through automated predicate switching. In International Conference on Software Engineering. 272281.Google ScholarGoogle Scholar
  88. [88] Zhang Xiangyu, Gupta Neelam, and Gupta Rajiv. 2006. Pruning dynamic slices with confidence. In Programming Language Design and Implementation. Springer, 169–180. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. [89] Zhang Yuntong, Gao Xiang, Duck Gregory J., and Roychoudhury Abhik. 2022. Program vulnerability repair via inductive inference. In International Symposium on Software Testing and Analysis. 691702. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. [90] Zheng Alice X., Jordan Michael I., Liblit Ben, Naik Mayur, and Aiken Alex. 2006. Statistical debugging: Simultaneous identification of multiple bugs. In International Conference on Machine Learning. 11051112. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. [91] Zhu Qihao, Sun Zeyu, Xiao Yuan-an, Zhang Wenjie, Yuan Kang, Xiong Yingfei, and Zhang Lu. 2021. A syntax-guided edit decoder for neural program repair. In European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 13 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. [92] Zou Daming, Liang Jingjing, Xiong Yingfei, Ernst Michael D., and Zhang Lu. 2019. An empirical study of fault localization families and their combinations. IEEE Trans. Softw. Eng. 47, 2 (2019).Google ScholarGoogle Scholar

Index Terms

  1. Variable-based Fault Localization via Enhanced Decision Tree

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Software Engineering and Methodology
        ACM Transactions on Software Engineering and Methodology  Volume 33, Issue 2
        February 2024
        947 pages
        ISSN:1049-331X
        EISSN:1557-7392
        DOI:10.1145/3618077
        • Editor:
        • Mauro Pezzè
        Issue’s Table of Contents

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 21 December 2023
        • Online AM: 18 September 2023
        • Accepted: 1 September 2023
        • Revised: 23 July 2023
        • Received: 22 November 2022
        Published in tosem Volume 33, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
      • Article Metrics

        • Downloads (Last 12 months)212
        • Downloads (Last 6 weeks)55

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text