Error diagnosis in logic programming, an adaptation of E.Y. Shapiro's method
Journal of Logic Programming
New Generation Computing
The semantic foundations of concurrent constraint programming
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proving concurrent constraint programs correct
ACM Transactions on Programming Languages and Systems (TOPLAS)
Temporal concurrent constraint programming: denotation, logic and applications
Nordic Journal of Computing
A Debugging Model for Functional Logic Programs
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Proving Properties of Logic Programs by Abstract Diagnosis
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
ViMer: a visual debugger for mercury
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Abstract diagnosis of functional programs
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
A framework for abstract interpretation of timed concurrent constraint programs
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Concurrent and reactive constraint programming
A 25-year perspective on logic programming
Hi-index | 0.00 |
We present a framework for the declarative diagnosis of nondeterministic timed concurrent constraint programs. We present a denotational semantics based on a (continuous) immediate consequence operator, TD, which models the process behaviour associated with a program D given in terms of sequences of constraints. Then, we show that, given the intended specification of D, it is possible to check the correctness of D by a single step of TD. In order to develop an effective debugging method, we approximate the denotational semantics of D. We formalize this method by abstract interpretation techniques, and we derive a finitely terminating abstract diagnosis method, which can be used statically. We define an abstract domain which allows us to approximate the infinite sequences by a finite 'cut'. As a further development we show how to use a specific linear temporal logic for deriving automatically the debugging sequences. Our debugging framework does not require the user to either provide error symptoms in advance or answer questions concerning program correctness. Our method is compositional, that may allow to master the complexity of the debugging methodology.