Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1390630.1390652acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Fault localization using value replacement

Published: 20 July 2008 Publication History

Abstract

We present a value profile based approach for ranking program statements according to their likelihood of being faulty. The key idea is to see which program statements exercised during a failing run use values that can be altered so that the execution instead produces correct output. Our approach is effective in locating statements that are either faulty or directly linked to a faulty statement. We present experimental results showing the effectiveness and efficiency of our approach. Our approach outperforms Tarantula which, to our knowledge, is the most effective prior approach for statement ranking based fault localization using the benchmark programs we studied.

References

[1]
H. Agrawal and J. R. Horgan. Dynamic program slicing. ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 246--256, 1990.
[2]
H. Cleve and A. Zeller. Locating causes of program failures. 27th International Conference on Software Engineering, pages 342--351, May 2005.
[3]
A. Groce. Error explanation and fault localization with distance metrics. Ph.D. Thesis, CMU, 2005.
[4]
N. Gupta, H. He, X. Zhang, and R. Gupta. Locating faulty code using failure-inducing chops. IEEE/ACM International Conference on Automated Software Engineering, pages 263--272, November 2005.
[5]
S. Hangal and M. S. Lam. Tracking down software bugs using automatic anomaly detection. International Conference on Software Engineering, pages 291--301, May 2002.
[6]
http://valgrind.org.
[7]
http://www.cse.unl.edu/~galileo/sir.
[8]
M. Hutchins, H. Foster, T. Goradia, and T. Ostrand. Experiments on the effectiveness of data flow and controlflow-based test adequacy criteria. International Conference on Software Engineering, pages 191--200, May 1994.
[9]
J. A. Jones and M. J. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. 20th IEEE/ACM International Conference on Automated Software Engineering, pages 273--282, November 2005.
[10]
B. Korel and J. Laski. Dynamic program slicing. Information Processing Letters, 29(3):155--163, Oct. 1988.
[11]
B. Korel and J. Laski. Algorithmic software fault localization. Annual Hawaii International Conference on System Sciences, pages 246--252, January 1991.
[12]
B. Liblit, A. Aiken, A. Zheng, and M. Jordan. Bug isolation via remote program sampling. Conference on Programming Language Design and Implementation, pages 141--154, June 2003.
[13]
B. Liblit, M. Naik, A. Zheng, A. Aiken, and M. Jordan. Scalable statistical bug isolation. Conference on Programming Language Design and Implementation, pages 15--26, June 2005.
[14]
C. Liu, X. Yan, L. Fei, J. Han, and S. Midkiff. Sober: Statistical model-based bug localization. European Software Engineering Conference held jointly with the International Symposium on Foundations of Software Engineering, pages 286--295, Sept. 2005.
[15]
M. Renieris and S. Reiss. Fault localization with nearest neighbor queries. 18th IEEE International Conference on Automated Software Engineering, pages 30--39, Oct. 2003. 20th
[16]
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121--189, September 1995.
[17]
T. Wang and A. Roychoudhury. Automated path generation for software fault localization. International Conference on Automated Software Engineering, pages 347--351, Nov. 2005.
[18]
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352--357, July 1984.
[19]
A. Zeller. Isolating cause-e ect chains from computer programs. International Symposium on the Foundations of Software Engineering, pages 1--10, Nov. 2002.
[20]
A. Zeller and R. Hildebrandt. Simplifying and isolating failure-inducing input. IEEE Transactions on Software Engineering, 28(2):183--200, February 2002.
[21]
X. Zhang, N. Gupta, and R. Gupta. Locating faults through automated predicate switching. 28th International Conference on Software Engineering, pages 272--281, May 2006.
[22]
X. Zhang, N. Gupta, and R. Gupta. Pruning dynamic slices with confidence. ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 169--180, June 2006.

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)Isolating Compiler Bugs by Generating Effective Witness Programs with Large Language ModelsIEEE Transactions on Software Engineering10.1109/TSE.2024.3397822(1-20)Online publication date: 2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '08: Proceedings of the 2008 international symposium on Software testing and analysis
July 2008
324 pages
ISBN:9781605580500
DOI:10.1145/1390630
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: 20 July 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automated debugging
  2. fault localization
  3. interesting value mapping pair
  4. value replacement

Qualifiers

  • Research-article

Conference

ISSTA '08
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 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)Isolating Compiler Bugs by Generating Effective Witness Programs with Large Language ModelsIEEE Transactions on Software Engineering10.1109/TSE.2024.3397822(1-20)Online publication date: 2024
  • (2023)The MADAG Strategy for Fault Location TechniquesApplied Sciences10.3390/app1302081913:2(819)Online publication date: 6-Jan-2023
  • (2023)Variable-based Fault Localization via Enhanced Decision TreeACM Transactions on Software Engineering and Methodology10.1145/362474133:2(1-32)Online publication date: 18-Sep-2023
  • (2023)Statistics‐Based Techniques for Software Fault LocalizationHandbook of Software Fault Localization10.1002/9781119880929.ch5(271-296)Online publication date: 21-Apr-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)Identifying Incorrect Patches in Program Repair Based on Meaning of Source CodeIEEE Access10.1109/ACCESS.2022.314598310(12012-12030)Online publication date: 2022
  • (2022)A comprehensive empirical investigation on failure clustering in parallel debuggingJournal of Systems and Software10.1016/j.jss.2022.111452193(111452)Online publication date: Nov-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