skip to main content
research-article

Influential Global and Local Contexts Guided Trace Representation for Fault Localization

Published:26 April 2023Publication History
Skip Abstract Section

Abstract

Trace data is critical for fault localization (FL) to analyze suspicious statements potentially responsible for a failure. However, existing trace representation meets its bottleneck mainly in two aspects: (1) the trace information of a statement is restricted to a local context (i.e., a test case) without the consideration of a global context (i.e., all test cases of a test suite); (2) it just uses the ‘occurrence’ for representation without strong FL semantics.

Thus, we propose UNITE: an inflUential coNtext-GuIded Trace rEpresentation, representing the trace from both global and local contexts with influential semantics for FL. UNITE embodies and implements two key ideas: (1) UNITE leverages the widely used weighting capability from local and global contexts of information retrieval to reflect how important a statement (a word) is to a test case (a document) in all test cases of a test suite (a collection), where a test case (a document) and all test cases of a test suite (a collection) represent local and global contexts respectively; (2) UNITE further elaborates the trace representation from ‘occurrence’ (weak semantics) to ‘influence’ (strong semantics) by combing program dependencies. The large-scale experiments on 12 FL techniques and 20 programs show that UNITE significantly improves FL effectiveness.

REFERENCES

  1. [1] Abdi Hervé. 2007. The Bonferonni and Šidák corrections for multiple comparisons. Encyclopedia of Measurement and Statistics 3 (2007), 103107.Google ScholarGoogle Scholar
  2. [2] Agrawal Hiralal and Horgan Joseph R.. 1990. Dynamic program slicing. ACM SIGPLAN Notices 25, 6 (1990), 246256.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Arcuri Andrea and Briand Lionel. 2011. A practical guide for using statistical tests to assess randomized algorithms in software engineering. In Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). IEEE, 110.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Briand L. C, Labiche Y., and Liu Xuetao. 2007. Using machine learning to support debugging with tarantula. In Proceedings of the IEEE International Symposium on Software Reliability (ISSRE’07). 137146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Corder Gregory W. and Foreman Dale I.. 2010. Nonparametric Statistics for Non-Statisticians: A Step-by-Step Approach. Vol. 78. International Statistical Review, 451–452.Google ScholarGoogle Scholar
  6. [6] Debroy Vidroha and Wong W. Eric. 2009. Insights on fault interference for programs with multiple bugs. In Proceedings of the 20th International Symposium on Software Reliability Engineering (ISSRE’09). IEEE, 165174.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Debroy Vidroha, Wong W. Eric, Xu Xiaofeng, and Choi Byoungju. 2010. A grouping-based strategy to improve the effectiveness of fault localization techniques. In Proceedings of the 10th International Conference on Quality Software (QSIC’10). 1322.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Fang Chunrong, Feng Yang, Shi Qingkai, Liu Zicong, Li Shuying, and Xu Baowen. 2017. Fault interference and coupling effect. In Proceedings of the 29th International Conference on Software Engineering and Knowledge Engineering (SEKE’17). 501506.Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Grosse R. Ranganath H. Lee, R., and Ng A. Y.. 2009. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th Annual International Conference on Machine Learning (ICML’09). 609616.Google ScholarGoogle Scholar
  10. [10] Heiden Simon, Grunske Lars, Kehrer Timo, Keller Fabian, Hoorn Andre Van, Filieri Antonio, and Lo David. 2019. An evaluation of pure spectrum-based fault localization techniques for large-scale software systems. Software: Practice and Experience 49, 8 (2019), 11971224.Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Hua Jie Lee, Naish Lee, and Ramamohanarao Kotagiri. 2010. Effective software bug localization using spectral frequency weighting function. In Proceedings of the 34th Annual Computer Software and Applications Conference (COMPSAC’10). 449456.Google ScholarGoogle Scholar
  12. [12] Jiang Jiajun, Xiong Yingfei, Zhang Hongyu, Gao Qing, and Chen Xiangqun. 2018. Shaping program repair space with existing patches and similar code. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA’18). 298309.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Jones James A.. 2004. Fault localization using visualization of test information. In Proceedings of the International Conference on Software Engineering (ICSE’04). 5456.Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Jones James A., Bowring James F., and Harrold Mary Jean. 2007. Debugging in parallel. In Proceedings of the 2007 International Symposium on Software Testing and Analysis (ISSTA’07). ACM, 1626.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Jones James A. and Harrold Mary Jean. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE’05). 273282.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Keller Fabian, Grunske Lars, Heiden Simon, Filieri Antonio, van Hoorn Andre, and Lo David. 2017. A critical evaluation of spectrum-based fault localization techniques on a large-scale software system. In Proceedings of the 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS’17). IEEE, 114125.Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Kochhar Pavneet Singh, Xia Xin, Lo David, and Li Shanping. 2016. Practitioners’ expectations on automated fault localization. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA’16). 165176.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Le Tien Duy B., Oentaryo Richard J., and Lo David. 2015. Information retrieval and spectrum based bug localization: Better together. In Proceedings of the10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). 579590.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Goues Claire Le, Nguyen ThanhVu, Forrest Stephanie, and Weimer Westley. 2011. Genprog: A generic method for automatic software repair. IEEE Transactions on Software Engineering (TSE) 38, 1 (2011), 5472.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Lecun Yann, Bengio Yoshua, and Hinton Geoffrey. 2015. Deep learning. Nature 521, 7553 (2015), 436.Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Lei Yan, Mao Xiaoguang, Dai Ziying, and Wang Chengsong. 2012. Effective statistical fault localization using program slices. In Proceedings of the 36th Annual Computer Software and Applications Conference (COMPSAC’12). 110.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Lei Yan, Mao Xiaoguang, Zhang Min, Ren Jingan, and Jiang Yinhua. 2017. Toward understanding information models of fault localization: Elaborate is not always better. In Proceedings of the 41st Annual Computer Software and Applications Conference (COMPSAC’17). IEEE, 5766.Google ScholarGoogle ScholarCross RefCross Ref
  23. [23] Lei Yan, Sun Chengnian, Mao Xiaoguang, and Su Zhendong. 2018. How test suites impact fault localisation starting from the size. IET Software 12, 3 (2018), 190205.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Li Xia, Li Wei, Zhang Yuqun, and Zhang Lingming. 2019. 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’19). 169180.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Li Xia and Zhang Lingming. 2017. Transforming programs and tests in tandem for fault localization. In Proceedings of the ACM on Programming Languages (OOPSLA) (2017), 130.Google ScholarGoogle Scholar
  26. [26] Li Yi, Wang Shaohua, and Nguyen Tien N.. 2021. Fault localization with code coverage representation learning. In Proceedings of the International Conference on Software Engineering (ICSE’21).Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Liu Kui, Koyuncu Anil, Kim Dongsun, and Bissyandé Tegawendé F. 2019. TBar: Revisiting template-based automated program repair. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA’19). 3142.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Lou Yiling, Ghanbari Ali, Li Xia, Zhang Lingming, Zhang Haotian, Hao Dan, and Zhang Lu. 2020. Can automated program repair refine fault localization? A unified debugging approach. In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA’20). 7587.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Madeiral Fernanda, Urli Simon, Maia Marcelo, and Monperrus Martin. 2019. Bears: An extensible java bug benchmark for automatic program repair studies. In Proceedings of the 26th International Conference on Software Analysis, Evolution and Reengineering (SANER’19). IEEE, 468478.Google ScholarGoogle ScholarCross RefCross Ref
  30. [30] Mao Xiaoguang, Lei Yan, Dai Ziying, Qi Yuhua, and Wang Chengsong. 2014. Slice-based statistical fault localization. Journal of Systems and Software 89, 1 (2014), 5162.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Masri Wes and Assi Rawad Abou. 2010. Cleansing test suites from coincidental correctness to enhance fault localization. In Proceedings of the 3rd International Conference on Software Testing, Verification and Validation (ICST’10).Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Masri Wes and Assi Rawad Abou. 2014. Prevalence of coincidental correctness and mitigation of its impact on fault localization. ACM Transactions on Software Engineering and Methodology (TOSEM) 23, 1 (2014), 128.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Moon Seokhyeon, Kim Yunho, Kim Moonzoo, and Yoo Shin. 2014. Ask the mutants: Mutating faulty programs for fault localization. In Proceedings of the 7th International Conference on Software Testing, Verification and Validation (ICST’14). 153162.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Doukhan J. J. DiCarlo N. Pinto, D., and Cox D. D.. 2009. A high-throughput screening approach to discovering good forms of biologically inspired visual representation. In PLoS Computational Biology. vol. 5.Google ScholarGoogle Scholar
  35. [35] Naish Lee and Hua. 2011. A model for spectra-based software diagnosis. ACM Transactions on Software Engineering and Methodology (TOSEM) 20, 3 (2011), 132.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] Papadakis Mike and Traon Yves Le. 2012. Using mutants to locate “Unknown” faults. In Proceedings of the 5th International Conference on Software Testing, Verification and Validation (ICST’12). 691700.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Papadakis Mike and Traon Yves Le. 2015. Metallaxis-FL: Mutation-based Fault Localization. John Wiley and Sons Ltd. 605–628.Google ScholarGoogle Scholar
  38. [38] Parnin Chris and Orso Alessandro. 2011. Are automated debugging techniques actually helping programmers?. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA’11). 199209.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. [39] Spencer Pearson, Jose Campos, Rene Just, Gordon Fraser, Rui Abreu, Michael D. Ernst, Deric Pang, and Benjamin Keller. 2017. Evaluating and improving fault localization. In Proceedings of the International Conference on Software Engineering (ICSE’17).Google ScholarGoogle Scholar
  40. [40] Zoeteweij A. J. C. van Gemund, R. Abreu, and P.. 2006. An evaluation of similarity coeffcients for software fault localization. In Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing. 3946.Google ScholarGoogle Scholar
  41. [41] Rajaraman Anand and Ullman Jeffrey David. 2011. Mining of massive datasets: Data mining. Min. Massive Datasets (2011), 117.Google ScholarGoogle Scholar
  42. [42] Rui Abreu, Zoeteweij Peter, and van Gemund Arjan J. C.. 2009. Spectrum-based multiple fault localization. In Proceedings of the International Conference on Automated Software Engineering (ASE’09). 8899.Google ScholarGoogle Scholar
  43. [43] Rui Abreu, Zoeteweij Peter, Golsteijn Rob, and van Gemund Arjan J. C.. 2009. A practical evaluation of spectrum-based fault localization. Journal of Systems and Software 82, 11 (2009), 17801792.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Shi Cong Ying, ChaoJun X. U., and Yang Xiao Jiang. 2009. Study of TFIDF algorithm. Journal of Computer Applications (2009).Google ScholarGoogle Scholar
  45. [45] Shu Ting, Ye Tiantian, Ding Zuohua, and Xia Jinsong. 2016. Fault localization based on statement frequency. Information Sciences 360 (2016), 4356.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Sohn Jeongju and Yoo Shin. 2017. FLUCCS: Using code and change metrics to improve fault localization. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA’17). ACM, New York, 273283. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Soremekun Ezekiel, Kirschner Lukas, Böhme Marcel, and Zeller Andreas. 2021. Locating faults with program slicing: An empirical analysis. Empirical Software Engineering 26, 3 (2021), 145.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. [48] Sun Chengnian and Khoo Siau Cheng. 2013. Mining succinct predicated bug signatures. In Proceedings of the 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’13). 576586.Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Turaga S. C., Murray J. F., Jain V., Roth F., Helmstaedter M., Briggman K., Denk W., and Seung H. S.. 2010. Convolutional networks can learn to generate affinity graphs for image segmentation. Neural Computation 22, 2 (2010), 511538.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Vargha András and Delaney Harold D. 2000. A critique and improvement of the CL common language effect size statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 (2000), 101132.Google ScholarGoogle Scholar
  51. [51] Wang Xinming, Cheung Shing Chi, Chan Wing Kwong, and Zhang Zhenyu. 2009. Taming coincidental correctness: Coverage refinement with context patterns to improve fault localization. In Proceedings of the IEEE International Conference on Software Engineering (ICSE’09).Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Wong W. Eric, Debroy Vidroha, and Choi Byoungju. 2010. A family of code coverage-based heuristics for effective fault localization. Journal of Systems and Software (2010), 188208.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Wong W. Eric, Debroy Vidroha, Golden Richard, Xu Xiaofeng, and Thuraisingham Bhavani. 2012. Effective software fault localization using an RBF neural network. IEEE Transactions on Reliability 61, 1 (2012), 149169.Google ScholarGoogle ScholarCross RefCross Ref
  54. [54] Wong W. Eric, Debroy Vidroha, Li Yihao, and Gao Ruizhi. 2012. Software fault localization using DStar (D*). In IEEE Sixth International Conference on Software Security and Reliability. 2130.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Wong W. Eric, Gao Ruizhi, Li Yihao, Rui Abreu, and Wotawa Franz. 2016. A survey on software fault localization. IEEE Transactions on Software Engineering (TSE) 42, 8 (2016), 707740.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Wong W. Eric and Qi Yu. 2009. BP neural network-based effective fault localization. International Journal of Software Engineering and Knowledge Engineering 19, 04 (2009), 573597.Google ScholarGoogle ScholarCross RefCross Ref
  57. [57] Wong W. Eric, Qi Yu, Zhao Lei, and Cai Kai Yuan. 2007. Effective fault localization using code coverage. In Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC’07). 449456.Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. [58] Xia Xin, Bao Lingfeng, Lo David, and Li Shanping. 2016. “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 the IEEE International Conference on Software Maintenance and Evolution (ICSME’16). 267278.Google ScholarGoogle ScholarCross RefCross Ref
  59. [59] Xie Xiaoyuan, Chen Tsong Yueh, Kuo Fei Ching, and Xu Baowen. 2013. A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization. ACM Transactions on Software Engineering and Methodology (TOSEM) 22, 4 (2013), 31.Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Xie Xiaoyuan, Kuo Fei Ching, Chen Tsong Yueh, Yoo Shin, and Harman Mark. 2013. Provably optimal and human-competitive results in SBSE for spectrum based fault localisation. In Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE’13). Springer, Berlin, 224238.Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Xu Baowen, Qian Ju, Zhang Xiaofang, Wu Zhongqiang, and Chen Lin. 2005. A brief survey of program slicing. ACM SIGSOFT Software Engineering Notes 30, 2 (2005), 136.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. [62] Xuan Jifeng, Martinez Matias, Demarco Favio, Clement Maxime, Marcote Sebastian Lamelas, Durieux Thomas, Berre Daniel Le, and Monperrus Martin. 2016. Nopol: Automatic repair of conditional statement bugs in Java programs. IEEE Transactions on Software Engineering (TSE) 43, 1 (2016), 3455.Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. [63] Zakari Abubakar, Lee Sai Peck, Abreu Rui, Ahmed Babiker Hussien, and Rasheed Rasheed Abubakar. 2020. Multiple fault localization of software programs: A systematic literature review. Information and Software Technology 124 (2020), 106312.Google ScholarGoogle ScholarCross RefCross Ref
  64. [64] Zhang Zhuo, Lei Yan, Mao Xiaoguang, Chang Xi, Xue Jianxin, and Xiong Qingyu. 2020. Fault localization approach using term frequency and inverse document frequency. Journal of Software 31, 11 (2020), 132144.Google ScholarGoogle Scholar
  65. [65] Zhang Zhuo, Lei Yan, Mao Xiaoguang, and Li Panpan. 2019. CNN-FL: An effective approach for localizing faults using convolutional neural networks. In the 26th International Conference on Software Analysis, Evolution and Reengineering (SANER’19). IEEE, 445455.Google ScholarGoogle ScholarCross RefCross Ref
  66. [66] Zhang Zhuo, Lei Yan, Mao Xiaoguang, Yan Meng, Xu Ling, and Wen Junhao. 2020. Improving deep-learning-based fault localization with resampling. Journal of Software: Evolution and Process (2020), 122.Google ScholarGoogle Scholar
  67. [67] Zhang Zhuo, Lei Yan, Mao Xiaoguang, Yan Meng, Xu Ling, and Zhang Xiaohong. 2021. A study of effectiveness of deep learning in locating real faults. Information and Software Technology 131 (2021), 106486.Google ScholarGoogle ScholarCross RefCross Ref
  68. [68] Zhang Zhuo, Lei Yan, Tan Qingping, Mao Xiaoguang, Zeng Ping, and Chang Xi. 2017. Deep learning-based fault localization with contextual information. IEICE Transactions on Information and Systems E100.D, 12 (2017), 30273031.Google ScholarGoogle ScholarCross RefCross Ref
  69. [69] Zhang Zhuo, Lei Yan, Xu Jianjun, Mao Xiaoguang, and Chang Xi. 2019. TFIDF-FL: Localizing faults using term frequency-inverse document frequency and deep learning. IEICE Transactions on Information and Systems 102, 9 (2019), 18601864.Google ScholarGoogle ScholarCross RefCross Ref
  70. [70] Zheng Wei, Hu Desheng, and Wang Jing. 2016. Fault localization analysis based on deep neural network. Mathematical Problems in Engineering, 2016, (2016-4-24) 2016 (2016), 111.Google ScholarGoogle Scholar
  71. [71] Zou Daming, Liang Jingjing, Xiong Yingfei, Ernst Michael D., and Zhang Lu. 2019. An empirical study of fault localization families and their combinations. IEEE Transactions on Software Engineering (TSE) (2019), 11.Google ScholarGoogle Scholar

Index Terms

  1. Influential Global and Local Contexts Guided Trace Representation for Fault Localization

    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 32, Issue 3
      May 2023
      937 pages
      ISSN:1049-331X
      EISSN:1557-7392
      DOI:10.1145/3594533
      • 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 ACM 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: 26 April 2023
      • Online AM: 15 December 2022
      • Accepted: 26 November 2022
      • Revised: 10 October 2022
      • Received: 18 February 2022
      Published in tosem Volume 32, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    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

    HTML Format

    View this article in HTML Format .

    View HTML Format