Relationship between the Verification Based Model and the Functional Dependences Model Using Program Specification

It is generally agreed that faults are very difficult to find, and also expensive to locate and remove from programs. Hence, automating the debugging task is highly desired. This paper presents previous work in automated debugging based on a verification based model, which can detect and localize faults from programs using abstract dependencies. We empirically compare the two models, i.e., Functional Dependencies Model(FDM) and Verification Based Model(VBM). VBM extracts dependencies from the source code of programs. These dependencies are called computed dependencies and are compare with specification of programs to detect a misbehavior. The functional dependency model uses dependencies to state the correctness of variables at the end of a program run. If a variable value is not correct, the model is used to localize the fault. Both models apply Model Based Diagnosis for software debugging. In the paper we compare both models with respect to their capabilities of localizing faults in programs. We also present new results for the VBM of large programs, which further justifies that the approach can be used in practice.

[1]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

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

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

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

[5]  Franz Wotawa,et al.  Detect and Localize Faults in Alias-Free Programs Using Specification Knowledge , 2009, IEA/AIE.

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

[7]  Franz Wotawa,et al.  Using abstract dependencies in debugging ∗ , 2022 .

[8]  Safeeullah Soomro,et al.  Using abstract dependences to localize faults from procedural programs , 2007, Artificial Intelligence and Applications.

[9]  Franz Wotawa,et al.  Towards Lightweight Fault Localization in Procedural Programs , 2006, IEA/AIE.

[10]  Peter Fritzson Automated and Algorithmic Debugging , 1993, Lecture Notes in Computer Science.

[11]  Safeeullah Soomro Verification Based Model Localizes Faults from Procedural Programs , 2008 .

[12]  Markus Stumptner,et al.  Debugging Functional Programs , 1999, IJCAI.

[13]  Markus Stumptner,et al.  Jade - java diagnosis experiments - status and outlook , 1999, IJCAI 1999.

[14]  Mireille Ducassé,et al.  A Pragmatic Survey of Automated Debugging , 1993, AADEBUG.

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