skip to main content
10.1145/1181775.1181782acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Failure proximity: a fault localization-based approach

Published: 05 November 2006 Publication History

Abstract

Recent software systems usually feature an automated failure reporting system, with which a huge number of failing traces are collected every day. In order to prioritize fault diagnosis, failing traces due to the same fault are expected to be grouped together. Previous methods, by hypothesizing that similar failing traces imply the same fault, cluster failing traces based on the literal trace similarity, which we call trace proximity. However, since a fault can be triggered in many ways, failing traces due to the same fault can be quite different. Therefore, previous methods actually group together traces exhibiting similar behaviors, like similar branch coverage, rather than traces due to the same fault. In this paper, we propose a new type of failure proximity, called R-Proximity, which regards two failing traces as similar if they suggest roughly the same fault location. The fault location each failing case suggests is automatically obtained with Sober, an existing statistical debugging tool. We show that with R-Proximity, failing traces due to the same fault can be grouped together. In addition, we find that R-Proximity is helpful for statistical debugging: It can help developers interpret and utilize the statistical debugging result. We illustrate the usage of R-Proximity with a case study on the grep program and some experiments on the Siemens suite, and the result clearly demonstrates the advantage of R-Proximity over trace proximity.

References

[1]
I. Borg and P. Groenen. Modern Multidimensional Scaling: Theory and Applications. Springer, first edition, 1996.
[2]
J. F. Bowring, J. M. Rehg, and M. J. Harrold. Active learning for automatic classification of software behavior. In ISSTA'04.
[3]
H. Cleve and A. Zeller. Locating causes of program failures. In ICSE'05.
[4]
W. Dickinson, D. Leon, and A. Podgurski. Finding failures by cluster analysis of execution profiles. In ICSE'01.
[5]
W. Dickinson, D. Leon, and A. Podgurski. Pursuing failure: the distribution of program failures in a profile space. In ESEC/FSE'01.
[6]
H. Do, S. G. Elbaum, and G. Rothermel. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering: An International Journal, 10(4):405--435, 2005.
[7]
N. Gupta, H. He, X. Zhang, and R. Gupta. Locating faulty code using failure-inducing chops. In ASE'05.
[8]
M. Haran, A. Karr, A. Orso, A. Porter, and A. Sanil. Applying classification techniques to remotely collected program execution data. In ESEC/FSE'05.
[9]
J. A. Jones and M. J. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In ASE'05.
[10]
M. Kendall and J. D. Gibbons. Rank Correlation Methods. Edward Arnold, 1990.
[11]
B. Liblit, A. Aiken, A. Zheng, and M. Jordan. Bug isolation via remote program sampling. In PLDI'03.
[12]
B. Liblit, M. Naik, A. Zheng, A. Aiken, and M. Jordan. Scalable statistical bug isolation. In PLDI'05.
[13]
C. Liu, X. Yan, L. Fei, J. Han, and S. P. Midkiff. SOBER: statistical model-based bug localization. In ESEC/FSE'05.
[14]
J. I. Marden. Analyzing and Modeling Rank Data. Chapman & Hall/CRC, first edition, 1996.
[15]
G. Misherghi and Z. Su. HDD: Hierarchical delta debugging. In ICSE'06.
[16]
A. Podgurski, D. Leon, P. Francis, W. Masri, M. Minch, J. Sun, and B. Wang. Automated support for classifying software failure reports. In ICSE'03.
[17]
M. Renieris and S. Reiss. Fault localization with nearest neighbor queries. In ASE'03.
[18]
A. Zeller. Isolating cause-effect chains from computer programs. In FSE'02.
[19]
X. Zhang, R. Gupta, and N. Gupta. Locating faults through automated predicate switching. In ICSE'06.

Cited By

View all
  • (2024)SURE: A Visualized Failure Indexing Approach Using Program Memory SpectrumACM Transactions on Software Engineering and Methodology10.1145/367695833:8(1-43)Online publication date: 8-Jul-2024
  • (2024)ReClues: Representing and indexing failures in parallel debugging with program variablesProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639098(1-13)Online publication date: 20-May-2024
  • (2024)Causal Program Dependence AnalysisScience of Computer Programming10.1016/j.scico.2024.103208(103208)Online publication date: Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
November 2006
298 pages
ISBN:1595934685
DOI:10.1145/1181775
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 November 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. debugging aids
  2. failure proximity
  3. statistical debugging

Qualifiers

  • Article

Conference

SIGSOFT06/FSE-14
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)1
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)SURE: A Visualized Failure Indexing Approach Using Program Memory SpectrumACM Transactions on Software Engineering and Methodology10.1145/367695833:8(1-43)Online publication date: 8-Jul-2024
  • (2024)ReClues: Representing and indexing failures in parallel debugging with program variablesProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639098(1-13)Online publication date: 20-May-2024
  • (2024)Causal Program Dependence AnalysisScience of Computer Programming10.1016/j.scico.2024.103208(103208)Online publication date: Sep-2024
  • (2023)Adaptive Tracing and Fault Injection based Fault Diagnosis for Open Source Server Software2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS)10.1109/QRS60937.2023.00076(729-740)Online publication date: 22-Oct-2023
  • (2023)Research on the Exploitability of Binary Software Vulnerabilities2023 IEEE 12th International Conference on Cloud Networking (CloudNet)10.1109/CloudNet59005.2023.10490070(403-407)Online publication date: 1-Nov-2023
  • (2023)Software multi-fault localization via Chameleon clustering in parallelJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2023.10167635:8(101676)Online publication date: Sep-2023
  • (2023)Software Fault Localization: an Overview of Research, Techniques, and ToolsHandbook of Software Fault Localization10.1002/9781119880929.ch1(1-117)Online publication date: 21-Apr-2023
  • (2022)Evolving Ranking-Based Failure Proximities for Better Clustering in Fault IsolationProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3556922(1-13)Online publication date: 10-Oct-2022
  • (2022)Automatically identifying shared root causes of test breakages in SAP HANAProceedings of the 44th International Conference on Software Engineering: Software Engineering in Practice10.1145/3510457.3513051(65-74)Online publication date: 21-May-2022
  • (2022)BuildSheriffProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510132(312-324)Online publication date: 21-May-2022
  • Show More Cited By

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