A theory of diagnosis from first principles
Artificial Intelligence
Empirical Studies of a Safe Regression Test Selection Technique
IEEE Transactions on Software Engineering
Knowlege in action: logical foundations for specifying and implementing dynamical systems
Knowlege in action: logical foundations for specifying and implementing dynamical systems
On the relationship between model-based debugging and program slicing
Artificial Intelligence
From symptom to cause: localizing errors in counterexample traces
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fault Localization Using Visualization of Test Information
Proceedings of the 26th International Conference on Software Engineering
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Abstract interpretation of programs for model-based debugging
IJCAI'07 Proceedings of the 20th international joint conference on Artifical intelligence
Hi-index | 0.00 |
Program debugging is one of the most time-consuming parts of the software development cycle. In recent years, automatic debugging has been an active research area in software engineering; it has also attracted attention from the AI community. However, existing approaches are mostly expenential; moreover, those model-based approaches are based on abstract models of programs, which lends an experiential flavor to the approaches, due to the heuristic nature of choosing an abstract model. We believe that it is necessary to establish a precise theoretical foundation for debugging from first principles. In this paper, we present a first step towards this foundation: using Reiter's theoretical framework of model-based diagnosis, we give a clean formalization of the program debugging task in the situation calculus, a logical language suitable for describing dynamic worlds. Examples are given to illustrate our formalization.