A theory of diagnosis from first principles
Artificial Intelligence
Single-pass generation of static single-assignment form for structured languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Critical slicing for software fault localization
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
All structured programs have small tree width and good register allocation
Information and Computation
A comparison of structural CSP decomposition methods
Artificial Intelligence
Constraint Processing
Automated Source-Level Error Localization in Hardware Designs
IEEE Design & Test
Exploring different constraint-based modelings for program verification
CP'07 Proceedings of the 13th international conference on Principles and practice of constraint programming
Diagnosing errors in dbc programs using constraint programming
CAEPIA'05 Proceedings of the 11th Spanish association conference on Current Topics in Artificial Intelligence
Does testing help to reduce the number of potentially faulty statements in debugging?
TAIC PART'10 Proceedings of the 5th international academic and industrial conference on Testing - practice and research techniques
On the empirical evaluation of fault localization techniques for spreadsheets
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
The use of model-based diagnosis for automated program debugging has been reported in several publications. The quality of the obtained results in terms of debugging accuracy is good. Unfortunately, most of the proposed models and techniques have very high computational needs. In this paper we focus on giving an explanation for the high computational needs of debugging. In particular, we propose a constraint representation of programs whose behavior is equivalent to the original programs. We further analyze the constraint representation to obtain its hypertree width, which is an indicator for the complexity of the corresponding constraint satisfaction problem. As constraint-based debugging is equivalent to constraint solving, the hypertree width is also an indicator for the debugging complexity. We further show that it is possible to construct arbitrarily complex programs such that their hypertree width is not bounded as indicated in previous literature.