skip to main content
10.1145/3524610.3527891acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Context-based cluster fault localization

Published: 20 October 2022 Publication History

Abstract

Automated fault localization techniques collect runtime information as input data to identify suspicious statement potentially responsible for program failures. To discover the statistical coincidences between test results (i.e., failing or passing) and the executions of the different statements of a program (i.e., executed or not executed), researchers developed a suspiciousness methodology (e.g., spectrum-based formulas and deep neural network models). However, the occurrences of coincidental correctness (CC) which means the faulty statements were executed but the output of the program was right affect the effectiveness of fault localization. Many researchers seek to identify CC tests using cluster analysis. However, the high-dimensional data containing too much noise reduce the effectiveness of cluster analysis.
To overcome the obstacle, we propose CBCFL: a context-based cluster fault localization approach, which incorporates a failure context showing how a failure is produced into cluster analysis. Specifically, CBCFL uses the failure context containing the statements whose execution affects the output of a failing test as input data for cluster analysis to improve the effectiveness of identifying CC tests. Since CC tests execute the faulty statement, we change the labels of CC tests into failing tests. We take the context and the corresponding changed labels as the input data for fault localization techniques. To evaluate the effectiveness of CBCFL, we conduct large-scale experiments on six large-sized programs using five state-of-the-art fault localization approaches. The experimental results show that CBCFL is more effective than the baselines, e.g., our approach can improve the MLP-FL method using cluster analysis by at most 200%, 250%, and 320% under the Top-1, Top-5, and Top-10 accuracies.

References

[1]
Rawad Abou Assi, Wes Masri, and Chadi Trad. 2021. How detrimental is coincidental correctness to coverage-based fault detection and localization? An empirical study. Software Testing, Verification and Reliability (2021), e1762.
[2]
Rawad Abou Assi, Chadi Trad, Marwan Maalouf, and Wes Masri. 2019. Coincidental correctness in the Defects4J benchmark. Software Testing, Verification and Reliability 29, 3 (2019), e1696.
[3]
Rui Abreu, Peter Zoeteweij, Rob Golsteijn, and Arjan JC Van Gemund. 2009. A practical evaluation of spectrum-based fault localization. Journal of Systems and Software 82, 11 (2009), 1780--1792.
[4]
Rui Abreu, Peter Zoeteweij, and Arjan JC Van Gemund. 2006. An evaluation of similarity coefficients for software fault localization. In 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06). IEEE, 39--46.
[5]
Rui Abreu, Peter Zoeteweij, and Arjan JC Van Gemund. 2007. On the accuracy of spectrum-based fault localization. In Testing: Academic and industrial conference practice and research techniques-MUTATION (TAICPART-MUTATION 2007). IEEE, 89--98.
[6]
Rui Abreu, Peter Zoeteweij, and Arjan JC Van Gemund. 2009. Spectrum-based multiple fault localization. In 2009 IEEE/ACM International Conference on Automated Software Engineering. IEEE, 88--99.
[7]
Hiralal Agrawal and Joseph R Horgan. 1990. Dynamic program slicing. ACM SIGPlan Notices 25, 6 (1990), 246--256.
[8]
Valentin Dallmeier, Christian Lindig, and Andreas Zeller. 2005. Lightweight defect localization for Java. In European conference on object-oriented programming. Springer, 528--550.
[9]
Farid Feyzi. 2020. CGT-FL: using cooperative game theory to effective fault localization in presence of coincidental correctness. Empirical Software Engineering 25, 5 (2020), 3873--3927.
[10]
Keith Brian Gallagher. 1990. Using program slicing in software maintenance. Ph.D. Dissertation. University of Maryland, Baltimore County.
[11]
Cheng Gong, Zheng Zheng, Wei Li, and Peng Hao. 2012. Effects of class imbalance in test suites: an empirical study of spectrum-based fault localization. In 2012 IEEE 36th Annual Computer Software and Applications Conference Workshops. IEEE, 470--475.
[12]
Mark Harman and Sebastian Danicic. 1995. Using program slicing to simplify testing. Software Testing, Verification and Reliability 5, 3 (1995), 143--162.
[13]
John A Hartigan and Manchek A Wong. 1979. Algorithm AS 136: A k-means clustering algorithm. Journal of the royal statistical society. series c (applied statistics) 28, 1 (1979), 100--108.
[14]
Samira Rahimyar Heris and Mohammad Reza Keyvanpour. 2019. Effectiveness of Weighted Neural Network on Accuracy of Software Fault Localization. In 2019 5th International Conference on Web Research (ICWR). IEEE, 100--104.
[15]
Robert M Hierons. 2006. Avoiding coincidental correctness in boundary value analysis. ACM Transactions on Software Engineering and Methodology (TOSEM) 15, 3 (2006), 227--241.
[16]
Rubing Huang, Weifeng Sun, Yinyin Xu, Haibo Chen, Dave Towey, and Xin Xia. 2019. A survey on adaptive random testing. IEEE Transactions on Software Engineering (2019).
[17]
Jiajun Jiang, Yingfei Xiong, Hongyu Zhang, Qing Gao, and Xiangqun Chen. 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. 298--309.
[18]
James A Jones, Mary Jean Harrold, and John Stasko. 2002. Visualization of test information to assist fault localization. In Proceedings of the 24th International Conference on Software Engineering. ICSE 2002. IEEE, 467--477.
[19]
Fabian Keller, Lars Grunske, Simon Heiden, Antonio Filieri, Andre van Hoorn, and David Lo. 2017. A critical evaluation of spectrum-based fault localization techniques on a large-scale software system. In 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS). IEEE, 114--125.
[20]
Yiğit Küçük, Tim AD Henderson, and Andy Podgurski. 2021. Improving fault localization by integrating value and predicate based causal inference techniques. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 649--660.
[21]
Xia Li, Wei Li, Yuqun Zhang, and Lingming Zhang. 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. 169--180.
[22]
Yihan Li and Chao Liu. 2012. Using cluster analysis to identify coincidental correctness in fault localization. In 2012 Fourth International Conference on Computational and Information Sciences. IEEE, 357--360.
[23]
Yi Li, Shaohua Wang, and Tien N Nguyen. 2021. Fault Localization with Code Coverage Representation Learning. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 661--673.
[24]
Kui Liu, Anil Koyuncu, Dongsun Kim, and Tegawendé F Bissyandé. 2019. TBar: Revisiting template-based automated program repair. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis. 31--42.
[25]
Xiaoguang Mao, Yan Lei, Ziying Dai, Yuhua Qi, and Chengsong Wang. 2014. Slice-based statistical fault localization. Journal of Systems and Software 89 (2014), 51--62.
[26]
Wes Masri and Rawad Abou Assi. 2010. Cleansing test suites from coincidental correctness to enhance fault-localization. In 2010 third international conference on software testing, verification and validation. IEEE, 165--174.
[27]
Wes Masri, Rawad Abou-Assi, Marwa El-Ghali, and Nour Al-Fatairi. 2009. An empirical study of the factors that reduce the effectiveness of coverage-based fault localization. In Proceedings of the 2nd International Workshop on Defects in Large Software Systems: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2009). 1--5.
[28]
Wes Masri and Rawad Abou Assi. 2014. Prevalence of coincidental correctness and mitigation of its impact on fault localization. ACM transactions on software engineering and methodology (TOSEM) 23, 1 (2014), 1--28.
[29]
Yi Miao, Zhenyu Chen, Sihan Li, Zhihong Zhao, and Yuming Zhou. 2013. A clustering-based strategy to identify coincidental correctness in fault localization. International Journal of Software Engineering and Knowledge Engineering 23, 05 (2013), 721--741.
[30]
Lee Naish, Hua Jie Lee, and Kotagiri Ramamohanarao. 2011. A model for spectra-based software diagnosis. ACM Transactions on software engineering and methodology (TOSEM) 20, 3 (2011), 1--32.
[31]
Chris Parnin and Alessandro Orso. 2011. Are automated debugging techniques actually helping programmers?. In Proceedings of the 2011 international symposium on software testing and analysis. 199--209.
[32]
Spencer Pearson, Jose Campos, and Just. [n.d.]. Evaluating and Improving Fault Localization. In International Conference on Software Engineering (2017).
[33]
Spencer Pearson, José Campos, René Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, and Benjamin Keller. 2016. Evaluating & improving fault localization techniques. University of Washington Department of Computer Science and Engineering, Seattle, WA, USA, Tech. Rep. UW-CSE-16-08-03 (2016), 27.
[34]
Justyna Petke, David Clark, and William B Langdon. 2021. Software robustness: a survey, a theory, and prospects. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 1475--1478.
[35]
Thomas Reps, Thomas Ball, Manuvir Das, and James Larus. 1997. The use of program profiling for software maintenance with applications to the year 2000 problem. In Software Engineering---Esec/Fse'97. Springer, 432--449.
[36]
Jeongju Sohn and Shin Yoo. 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. 273--283.
[37]
Xinming Wang, S.C. Cheung, W.K. Chan, and Zhenyu Zhang. 2009. Taming coincidental correctness: Coverage refinement with context patterns to improve fault localization. In 2009 IEEE 31st International Conference on Software Engineering. 45--55.
[38]
Mark Weiser. 1984. Program slicing. IEEE Transactions on software engineering 4 (1984), 352--357.
[39]
Li Weishi and Xiaoguang Mao. 2014. Alleviating the impact of coincidental correctness on the effectiveness of sfl by clustering test cases. In 2014 Theoretical Aspects of Software Engineering Conference. IEEE, 66--69.
[40]
W Eric Wong, Vidroha Debroy, Yihao Li, and Ruizhi Gao. 2012. Software fault localization using dstar (d*). In 2012 IEEE Sixth International Conference on Software Security and Reliability. IEEE, 21--30.
[41]
W Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. 2016. A survey on software fault localization. IEEE Transactions on Software Engineering 42, 8 (2016), 707--740.
[42]
W Eric Wong and Yu Qi. 2009. BP neural network-based effective fault localization. International Journal of Software Engineering and Knowledge Engineering 19, 04 (2009), 573--597.
[43]
Xiaoyuan Xie, Tsong YUEH Chen, FEI-CHING KUO, and BAOWEN XU. 2013. A Theoretical Analysis of the Risk Evaluation Formulas for Spectrum-Based Fault Localization. ACM Transactions on Software Engineering and Methodology (TOSEM) (2013).
[44]
Xiaoyuan Xie, Fei-Ching Kuo, Tsong Yueh Chen, Shin Yoo, and Mark Harman. 2013. Provably optimal and human-competitive results in SBSE for spectrum based fault localisation. In Proceedings of the 5th Symposium on Search-Based Software Engineering (SSBSE 2013). Springer, 224--238.
[45]
Baowen Xu, Ju Qian, Xiaofang Zhang, Zhongqiang Wu, and Lin Chen. 2005. A brief survey of program slicing. ACM SIGSOFT Software Engineering Notes 30, 2 (2005), 1--36.
[46]
Cemal Yilmaz, Amit Paradkar, and Clay Williams. 2008. Time will tell. In 2008 ACM/IEEE 30th International Conference on Software Engineering. IEEE, 81--90.
[47]
Zhuo Zhang, Yan Lei, Xiaoguang Mao, and Panpan Li. 2019. CNN-FL: An effective approach for localizing faults using convolutional neural networks. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 445--455.
[48]
Zhuo Zhang, Yan Lei, Xiaoguang Mao, Meng Yan, Ling Xu, and Xiaohong Zhang. 2021. A study of effectiveness of deep learning in locating real faults. Information and Software Technology 131 (2021), 106486.
[49]
Wei Zheng, Desheng Hu, and Jing Wang. 2016. Fault localization analysis based on deep neural network. Mathematical Problems in Engineering 2016 (2016).

Cited By

View all
  • (2024)Traceback: A Fault Localization Technique for Molecular ProgramsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652138(415-427)Online publication date: 11-Sep-2024
  • (2024)Towards More Precise Coincidental Correctness Detection With Deep Semantic LearningIEEE Transactions on Software Engineering10.1109/TSE.2024.348189350:12(3265-3289)Online publication date: 1-Dec-2024
  • (2024)Semantic context based coincidental correct test cases detection for fault localizationAutomated Software Engineering10.1007/s10515-024-00466-531:2Online publication date: 18-Aug-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC '22: Proceedings of the 30th IEEE/ACM International Conference on Program Comprehension
May 2022
698 pages
ISBN:9781450392983
DOI:10.1145/3524610
  • Conference Chairs:
  • Ayushi Rastogi,
  • Rosalia Tufano,
  • General Chair:
  • Gabriele Bavota,
  • Program Chairs:
  • Venera Arnaoudova,
  • Sonia Haiduc
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]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. coincidental correctness
  2. debugging
  3. failure context
  4. fault localization

Qualifiers

  • Research-article

Funding Sources

  • the National Defense Basic Scientific Research Project
  • the Major Key Project of PCL

Conference

ICPC '22
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)27
  • Downloads (Last 6 weeks)2
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Traceback: A Fault Localization Technique for Molecular ProgramsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652138(415-427)Online publication date: 11-Sep-2024
  • (2024)Towards More Precise Coincidental Correctness Detection With Deep Semantic LearningIEEE Transactions on Software Engineering10.1109/TSE.2024.348189350:12(3265-3289)Online publication date: 1-Dec-2024
  • (2024)Semantic context based coincidental correct test cases detection for fault localizationAutomated Software Engineering10.1007/s10515-024-00466-531:2Online publication date: 18-Aug-2024
  • (2023)NeuralCCD: Integrating Multiple Features for Neural Coincidental Correctness Detection2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00018(85-96)Online publication date: Mar-2023
  • (2023)Contrastive Coincidental Correctness Representation Learning2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE59848.2023.00074(252-263)Online publication date: 9-Oct-2023
  • (2023)Identifying Coincidental Correct Test Cases with Multiple Features Extraction for Fault Localization2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC57700.2023.00109(800-809)Online publication date: Jun-2023
  • (2023)A fault localization approach based on fault propagation contextInformation and Software Technology10.1016/j.infsof.2023.107245160:COnline publication date: 1-Aug-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media