Model-Based Debugging - State of the Art And Future Challenges

A considerable body of work on model-based software debugging (MBSD) has been published in the past decade. We summarise the underlying ideas and present the different approaches as abstractions of the concrete semantics of the programming language. We compare the model-based framework with other well-known Automated Debugging approaches and present open issues, challenges and potential future directions of MBSD.

[1]  Ulrich Junker Conflict Detection for Arbitrary Constraint Propagation Algorithms , 2001 .

[2]  Franz Wotawa Debugging Hardware Designs Using a Value-Based Model , 2004, Applied Intelligence.

[3]  James C. Corbett,et al.  Using shape analysis to reduce finite-state models of concurrent Java programs , 2000, TSEM.

[4]  Hiralal Agrawal,et al.  Towards automatic debugging of computer programs , 1992 .

[5]  Markus Stumptner,et al.  Model-Based Debugging using Multiple Abstract Models , 2003, ArXiv.

[6]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[7]  Ron I. Kuper Dependency-Directed Localization of Software Bugs , 1989 .

[8]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[9]  Franz Wotawa,et al.  Applying Model-Based Diagnosis to Software Debugging of Concurrent and Sequential Imperative Programming Languages , 1996 .

[10]  Alexander K. Petrenko,et al.  Electronic Notes in Theoretical Computer Science , 2009 .

[11]  Rolf Drechsler,et al.  Debugging sequential circuits using Boolean satisfiability , 2004, ICCAD 2004.

[12]  Markus Stumptner,et al.  Debugging of Java Programs using a model-based approach , 1999 .

[13]  Dawson R. Engler,et al.  Using redundancies to find errors , 2002, SIGSOFT FSE.

[14]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[15]  Rong Chen,et al.  An Object Store Model for Diagnosing Java Programs , 2005, Australian Conference on Artificial Intelligence.

[16]  Gregory William Bond Logic programs for consistency-based diagnosis , 1994 .

[17]  François Bourdoncle,et al.  Abstract debugging of higher-order imperative languages , 1993, PLDI '93.

[18]  Neelam Gupta,et al.  Automated Debugging Using Path-Based Weakest Preconditions , 2004, FASE.

[19]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[20]  Daniele Theseider Dupré,et al.  Model-Based Diagnosis Meets Error Diagnosis in Logic Programs (Extended Abstract) , 1993, AADEBUG.

[21]  C. Scott Ananian,et al.  The static single information form , 2001 .

[22]  John T. Stasko,et al.  Visualization of test information to assist fault localization , 2002, ICSE '02.

[23]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[24]  Franz Wotawa,et al.  Debugging VHDL Designs: Introducing Multiple Models and First Empirical Results , 2004, Applied Intelligence.

[25]  Daniele Theseider Dupré,et al.  Model-Based Diagnosis Meets Error Diagnosis in Logic Programs , 1993, IJCAI.

[26]  Markus Stumptner,et al.  Consistency-based diagnosis of configuration knowledge bases , 1999, Artif. Intell..

[27]  Markus Stumptner,et al.  Model-Based Debugging of Java Programs , 2000, AADEBUG.

[28]  Alex Groce,et al.  Explaining abstract counterexamples , 2004, SIGSOFT '04/FSE-12.

[29]  Alex Groce,et al.  What Went Wrong: Explaining Counterexamples , 2003, SPIN.

[30]  Franz Wotawa,et al.  A comparison of fault explanation and localization , 2005 .

[31]  Franz Wotawa,et al.  On the relationship between model-based debugging and program slicing , 2002, Artif. Intell..

[32]  Randall Davis,et al.  Diagnostic Reasoning Based on Structure and Behavior , 1984, Artif. Intell..

[33]  Markus Stumptner,et al.  Model-Based Diagnosis of Hardware Designs , 1999, Artif. Intell..

[34]  Markus Stumptner,et al.  Using Design Information to Identify Structural Software Faults , 2001, Australian Joint Conference on Artificial Intelligence.

[35]  Russell Greiner,et al.  A Correction to the Algorithm in Reiter's Theory of Diagnosis , 1989, Artif. Intell..

[36]  Andreas Zeller,et al.  Locating causes of program failures , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[37]  Markus Stumptner,et al.  Model-Based Debugging with High-Level Observations , 2004, Intelligent Information Processing.

[38]  Markus Stumptner,et al.  Model-Based Debugging or How to Diagnose Programs Automatically , 2002, IEA/AIE.

[39]  Daniel Jackson Aspect: detecting bugs with abstract dependences , 1995, TSEM.

[40]  Shi-Yu Huang,et al.  ErrorTracer: design error diagnosis based on fault simulation techniques , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[41]  A. Jefferson Offutt,et al.  An Empirical Evaluation of Weak Mutation , 1994, IEEE Trans. Software Eng..