Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1868328.1868347acmotherconferencesArticle/Chapter ViewAbstractPublication PagespromiseConference Proceedingsconference-collections
research-article

Exploiting count spectra for Bayesian fault localization

Published: 12 September 2010 Publication History

Abstract

Background: Automated diagnosis of software defects can drastically increase debugging efficiency, improving reliability and time-to-market. Current, low-cost, automatic fault diagnosis techniques, such as spectrum-based fault localization (SFL), merely use information on whether a component is involved in a passed/failed run or not. However, these approaches ignore information on component execution frequency, which can improve the accuracy of the diagnostic process. Aim: In this paper, we study the impact of exploiting component execution frequency on the diagnostic quality. Method: We present a reasoning-based SFL approach, dubbed Zoltar-C, that exploits not only component involvement but also their frequency, using an approximate, Bayesian approach to compute the probabilities of the diagnostic candidates. Zoltar-C is evaluated and compared to other well-known, low-cost techniques (such as Tarantula) using a set of programs available from the Software Infrastructure Repository. Results: Results show that, although theoretically Zoltar-C can be of added value, exploiting component frequency does not improve diagnostic accuracy on average. Conclusions: The major reason for this unexpected result is the highly biased sample of passing and failing tests provided with the programs under analysis. In particular, the ratio between passing and failing runs, which has a major impact on the probability computations, does not correspond to the false negative (failure) rates associated with the actually injected faults.

References

[1]
}}R. Abreu, A. González, P. Zoeteweij, and A. van Gemund. Automatic software fault localization using generic program invariants. In Proc. SAC'08, Fortaleza, Brazil, March 2008. ACM Press.
[2]
}}R. Abreu, W. Mayer, M. Stumptner, and A. J. C. van Gemund. Refining spectrum-based fault localization rankings. In Proceedings of the Annual Symposium on Applied Computing (SAC'09).
[3]
}}R. Abreu and A. J. C. van Gemund. A low-cost approximate minimal hitting set algorithm and its application to model-based diagnosis. In Proceedings of Symposium on Abstraction, Reformulation, and Approximation (SARA'09).
[4]
}}R. Abreu, P. Zoeteweij, R. Golsteijn, and A. J. C. van Gemund. A practical evaluation of spectrum-based fault localization. Journal of Systems and Software, 82(11):1780--1792, 2009.
[5]
}}R. Abreu, P. Zoeteweij, and A. J. van Gemund. Spectrum-based multiple fault localization. In Proceedings of the International Conference on Automated Software Engineering (ASE'09).
[6]
}}R. Abreu, P. Zoeteweij, and A. J. C. van Gemund. On the accuracy of spectrum-based fault localization. In Proceedings of The Testing: Academic and Industrial Conference - Practice and Research Techniques (TAIC PART'07).
[7]
}}R. Abreu, P. Zoeteweij, and A. J. C. van Gemund. A new Bayesian approach to multiple intermittent fault diagnosis. In C. Boutilier, editor, Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI'09), pages 653--658, Pasadena, California, USA, 11--17 July 2009. AAAI Press.
[8]
}}A. Avižienis, J.-C. Laprie, B. Randell, and C. E. Landwehr. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Sec. Comput., 1(1):11--33, 2004.
[9]
}}G. K. Baah, A. Podgurski, and M. J. Harrold. The probabilistic program dependence graph and its application to fault diagnosis. In Proceedings of International Symposium on Software Testing and Analysis (ISSTA'08).
[10]
}}J. de Kleer. Diagnosing intermittent faults. In Proceedings of International Workshop on Principles of Diagnosis (DX'07), May.
[11]
}}J. de Kleer. Diagnosing multiple persistent and intermittent faults. In Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI'09), pages 733--738, Pasadena, California, USA, 11--17 July 2009. AAAI Press.
[12]
}}J. de Kleer, A. K. Mackworth, and R. Reiter. Characterizing diagnoses and systems. Artificial Intelligence, 56:197--222, 1992.
[13]
}}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.
[14]
}}M. J. Harrold, G. Rothermel, R. Wu, and L. Yi. An empirical investigation of program spectra. In Proceedings of International Workshop on Program Analysis for Software Tools and Engineering (PASTE'98).
[15]
}}A. Jain and R. Dubes. Algorithms for clustering data. Prentice-Hall, Inc., 1988.
[16]
}}T. Janssen, R. Abreu, and A. J. C. van Gemund. Zoltar: A toolset for automatic fault localization. In Proceedings of the International Conference on Automated Software Engineering (ASE'09) - Tool Demonstrations.
[17]
}}J. A. Jones, M. J. Harrold, and J. Stasko. Visualization of test information to assist fault localization. In Proceedings of International Conference on Software Engineering (ICSE'02).
[18]
}}B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable statistical bug isolation. In Proceedings of Conference on Programming Language Design and Implementation (PLDI'05).
[19]
}}C. Liu, X. Yan, L. Fei, J. Han, and S. P. Midkiff. Sober: Statistical model-based bug localization. In Proceedings of European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE-13).
[20]
}}W. Mayer and M. Stumptner. Abstract interpretation of programs for model-based debugging. In Proceedings of International Joint Conference on Artificial Intelligence (IJCAI'07).
[21]
}}W. Mayer and M. Stumptner. Evaluating models for model-based debugging. In Proceedings of International Conference on Automated Software Engineering (ASE'08).
[22]
}}M. Renieris and S. P. Reiss. Fault localization with nearest neighbor queries. In Proceedings of International Conference on Automated Software Engineering (ASE'03).
[23]
}}T. Reps, T. Ball, M. Das, and J. Larus. The use of program profiling for software maintenance with applications to the year 2000 problem. In M. Jazayeri and H. Schauer, editors, Proceedings of the Sixth European Software Engineering Conference (ESEC/FSE 97), volume 1301 of LNCS, pages 432--449. Springer-Verlag, 1997.
[24]
}}X. Wang, S. Cheung, W. Chan, and Z. Zhang. Taming coincidental correctness: Coverage refinement with context patterns to improve fault localization. In Proceedings of International Conference on Software Engineering (ICSE'09).
[25]
}}W. Wong, T. Wei, Y. Qi, and L. Zhao. A crosstab-based statistical method for effective fault localization. In Proceedings of International Conference on Software Testing and Verification (ICST'08).
[26]
}}A. Zeller. Isolating cause-effect chains from computer programs. In Proceedings of Symposium on the Foundations of Software Engineering (FSE'02).
[27]
}}A. X. Zheng, M. I. Jordan, B. Liblit, M. Naik, and A. Aiken. Statistical debugging: Simultaneous identification of multiple bugs. In Proceedings of International Conference on Machine Learning (ICML'06).

Cited By

View all
  • (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)CRMF: A fault localization approach based on class reduction and method call frequencySoftware: Practice and Experience10.1002/spe.317853:4(1061-1090)Online publication date: 20-Dec-2022
  • (2021)Probabilistic Delta debuggingProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468625(881-892)Online publication date: 20-Aug-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
PROMISE '10: Proceedings of the 6th International Conference on Predictive Models in Software Engineering
September 2010
195 pages
ISBN:9781450304047
DOI:10.1145/1868328
  • General Chair:
  • Tim Menzies,
  • Program Chair:
  • Gunes Koru
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: 12 September 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. component count spectra
  2. debugging
  3. reasoning approach

Qualifiers

  • Research-article

Conference

Promise '10

Acceptance Rates

PROMISE '10 Paper Acceptance Rate 19 of 53 submissions, 36%;
Overall Acceptance Rate 98 of 213 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)3
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (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)CRMF: A fault localization approach based on class reduction and method call frequencySoftware: Practice and Experience10.1002/spe.317853:4(1061-1090)Online publication date: 20-Dec-2022
  • (2021)Probabilistic Delta debuggingProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468625(881-892)Online publication date: 20-Aug-2021
  • (2021)Method Calls Frequency-Based Tie-Breaking Strategy For Software Fault Localization2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM52516.2021.00021(103-113)Online publication date: Sep-2021
  • (2021)Call Frequency-Based Fault Localization2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER50967.2021.00041(365-376)Online publication date: Mar-2021
  • (2018)Spectrum-Based Fault Localization in Model TransformationsACM Transactions on Software Engineering and Methodology10.1145/324174427:3(1-50)Online publication date: 17-Sep-2018
  • (2018)Bug Patterns Localization Based on Topic Model for Bugs in Program Loop2018 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C)10.1109/QRS-C.2018.00070(366-370)Online publication date: Jul-2018
  • (2018)Research on Software Multiple Fault Localization Method Based on Machine LearningMATEC Web of Conferences10.1051/matecconf/201823201060232(01060)Online publication date: 19-Nov-2018
  • (2016)A Survey on Software Fault LocalizationIEEE Transactions on Software Engineering10.1109/TSE.2016.252136842:8(707-740)Online publication date: 1-Aug-2016
  • (2013)Spectrum-based Fault Localization: A Pair Scoring ApproachJournal of Industrial and Intelligent Information10.12720/jiii.1.4.185-1901:4(185-190)Online publication date: 2013

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media