The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
A theory of diagnosis from first principles
Artificial Intelligence
New Generation Computing
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dependence-based program analysis
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Analysis and Testing of Programs with Exception Handling Constructs
IEEE Transactions on Software Engineering
On the relationship between model-based debugging and program slicing
Artificial Intelligence
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Algorithmic Program DeBugging
Using Design Information to Identify Structural Software Faults
AI '01 Proceedings of the 14th Australian Joint Conference on Artificial Intelligence: Advances in Artificial Intelligence
Model-Based Debugging or How to Diagnose Programs Automatically
IEA/AIE '02 Proceedings of the 15th international conference on Industrial and engineering applications of artificial intelligence and expert systems: developments in applied artificial intelligence
Hi-index | 0.00 |
Even with modern software development methodologies, the actual debugging of source code, i.e., location and identification of errors in the program when errant behavior is encountered during testing, remains a crucial part of software development. To apply model-based diagnosis techniques, which have long been state of the art in hardware diagnosis, for automatic debugging, a model of a given program must be automatically created from the source code. This work describes a model that reflects the execution semantics of the Java language, including exceptions and unstructured control flow, thereby providing unprecedented scope in the application of model-based diagnosis to programs. Besides the structural model building process, a behavioral description of some of the model components is given. Finally, impacts of the modeling decisions on the diagnostic process are considered.