skip to main content
10.1145/1273463.1273468acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article

Debugging in Parallel

Published: 09 July 2007 Publication History

Abstract

The presence of multiple faults in a program can inhibit the ability of fault-localization techniques to locate the faults. This problem occurs for two reasons: when a program fails, the number of faults is, in general, unknown; and certain faults may mask or obfuscate other faults. This paper presents our approach to solving this problem that leverages the well-known advantages of parallel work flows to reduce the time-to-release of a program. Our approach consists of a technique that enables more effective debugging in the presence of multiple faults and a methodology that enables multiple developers to simultaneously debug multiple faults. The paper also presents an empirical study that demonstrates that our parallel-debugging technique and methodology can yield a dramatic decrease in total debugging time compared to a one-fault-at-a-time, or conventionally sequential, approach.

References

[1]
J. Anvik, L. Hiew, and G. C. Murphy. Who should fix this bug? In Proceeding of the International Conference on Software Engineering, pages 361--370, May 2006.
[2]
Aristotle Research Group. ARISTOTLE analysis system, 2007. http://www.cc.gatech.edu/aristotle/.
[3]
J. F. Bowring, J. M. Rehg, and M. J. Harrold. Active learning for automatic classification of software behavior. In Proceedings of the International Symposium on Software Testing and Analysis, pages 195--205. ACM Press, July 2004.
[4]
H. Cleve and A. Zeller. Locating causes of program failures. In Proceedings of the International Conference on Software Engineering, pages 342--351, May 2005.
[5]
W. Dickinson, D. Leon, and A. Podgurski. Finding failures by cluster analysis of execution profiles. In Proceedings of the International Conference on Software Engineering, pages 339--348, May 2001.
[6]
R. O. Duda, P. E. Hart, and D. G. Stork. Pattern Classification. John Wiley and Sons, Inc., 2001.
[7]
J. Jones and M. J. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the International Conference on Automated Software Engineering, pages 273--282, November 2005.
[8]
J. Jones, M. J. Harrold, and J. Stasko. Visualization of test information to assist fault localization. In Proceedings of the International Conference on Software Engineering, pages 467--477, May 2002.
[9]
J. Jones, A. Orso, and M. Harrold. Gammatella: Visualizing program-execution data for deployed software. Information Visualization, 33):173--188, Autumn 2004.
[10]
B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable statistical bug isolation. In Proceedings of the Conference on Programming Language Design and Implementation, June 2005.
[11]
C. Liu and J. Han. Failure proximity: A fault localization-based approach. In Proceedings of the International Symposium on the Foundations of Software Engineering, pages 286--295, November 2006.
[12]
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 and Foundations on Software Engineering, pages 286--295, September 2005.
[13]
A. Podgurski, D. Leon, P. Francis, W. Masri, M. Minch, J. Sun, and B. Wang. Automated support for classifying software failure reports. In Proceedings of the International Conference on Software Engineering, pages 465--474, May 2003.
[14]
M. Renieris and S. Reiss. Fault localization with nearest neighbor queries. In Proceedings of the International Conference on Automated Software Engineering, pages 30--39, October 2003.
[15]
I. Vessey. Expertise in debugging computer programs. International Journal of Man-Machine Studies: A process analysis, 23(5):459--494, 1985.
[16]
F. Vokolos and P. Frankl. Empirical evaluation of the textual differencing regression testing techniques. In Proceedings of the International Conference on Software Maintenance, November 1998.
[17]
X. Zhang, N. Gupta, and R. Gupta. Locating faults through automated predicate switching. In Proceedings of the International Conference on Software Engineering, pages 272--281, May 2006.
[18]
A. Zheng, M. I. Jordan, B. Liblit, M. Naik, and A. Aiken. Statistical debugging: Simultaneous identification of multiple bugs. In Proceedings of the International Conference on Machine Learning, pages 1105--1112, June 2006.

Cited By

View all
  • (2024)Enhancing Clustering Performance of Failed Test Cases during HIL Simulation: A Study on Deep Auto-Encoder Structures and Hyperparameter TuningApplied Sciences10.3390/app1419906414:19(9064)Online publication date: 8-Oct-2024
  • (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
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '07: Proceedings of the 2007 international symposium on Software testing and analysis
July 2007
258 pages
ISBN:9781595937346
DOI:10.1145/1273463
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 July 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automated debugging
  2. empirical study
  3. execution clustering
  4. fault localization
  5. program analysis

Qualifiers

  • Article

Conference

ISSTA07
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)32
  • Downloads (Last 6 weeks)7
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Enhancing Clustering Performance of Failed Test Cases during HIL Simulation: A Study on Deep Auto-Encoder Structures and Hyperparameter TuningApplied Sciences10.3390/app1419906414:19(9064)Online publication date: 8-Oct-2024
  • (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)Beyond Positive Similarity Metrics: Leveraging Negative Co-Occurrence in Recommender SystemsIEEE Access10.1109/ACCESS.2024.348396612(154212-154229)Online publication date: 2024
  • (2024)Trace matrix optimization for fault localizationJournal of Systems and Software10.1016/j.jss.2023.111900208(111900)Online publication date: Feb-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)Improving Spectrum-Based Localization of Multiple Faults by Iterative Test Suite ReductionProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598148(1445-1457)Online publication date: 12-Jul-2023
  • (2023)Influential Global and Local Contexts Guided Trace Representation for Fault LocalizationACM Transactions on Software Engineering and Methodology10.1145/357604332:3(1-27)Online publication date: 26-Apr-2023
  • (2023)Toward More Efficient Statistical Debugging with Abstraction RefinementACM Transactions on Software Engineering and Methodology10.1145/354479032:2(1-38)Online publication date: 30-Mar-2023
  • (2023)An Empirical Study on Spectrum-Based Fault Localization for Student Programs2023 3rd International Symposium on Computer Technology and Information Science (ISCTIS)10.1109/ISCTIS58954.2023.10213072(547-551)Online publication date: 7-Jul-2023
  • 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