Results 1 - 10
of
28
A Declarative Debugging Scheme
, 1997
"... We present a very simple but flexible declarative debugging scheme. A declarative debugger can be defined in Prolog with a single clause, and relies on the definition of just two additional predicates. With suitable definitions of these predicates, the debugger can diagnose several classes of bugs i ..."
Abstract
-
Cited by 56 (4 self)
- Add to MetaCart
We present a very simple but flexible declarative debugging scheme. A declarative debugger can be defined in Prolog with a single clause, and relies on the definition of just two additional predicates. With suitable definitions of these predicates, the debugger can diagnose several classes of bugs in many languages. We give examples of diagnoses of wrong answers in functional, relational, and object-oriented languages as well as missing answers in relational languages and calls that are not well defined in functional languages. By using declarative semantics of programs, the debugger is able to hide complex execution mechanisms such as unification, backtracking, coroutining, parallelism, higher-order functions, lazy evaluation, message passing, and inheritance.
Logic Program Synthesis from Incomplete Specifications
- JOURNAL OF SYMBOLIC COMPUTATION: SPECIAL ISSUE ON AUTOMATIC PROGRAMMING
, 1993
"... ..."
On the role of semantic approximations in validation and diagnosis of constraint logic programs
- University
, 1997
"... work in the ESPRIT project DiSCiPl. The project aims at devising advanced tools for debugging of constraint logic programs. Acentral problem in program development is obtaining a program which satis es the user's expectations. When considering a given program, a natural question is then whether or n ..."
Abstract
-
Cited by 35 (19 self)
- Add to MetaCart
work in the ESPRIT project DiSCiPl. The project aims at devising advanced tools for debugging of constraint logic programs. Acentral problem in program development is obtaining a program which satis es the user's expectations. When considering a given program, a natural question is then whether or not it
DEBUGGING AND REPAIR OF OWL ONTOLOGIES
, 2006
"... With the advent of Semantic Web languages such as OWL (Web Ontology Language), the expressive Description Logic SHOIN is exposed to a wider audience of ontology users and developers. As an increasingly large number of OWL ontologies become available on the Semantic Web and the descriptions in the on ..."
Abstract
-
Cited by 31 (0 self)
- Add to MetaCart
With the advent of Semantic Web languages such as OWL (Web Ontology Language), the expressive Description Logic SHOIN is exposed to a wider audience of ontology users and developers. As an increasingly large number of OWL ontologies become available on the Semantic Web and the descriptions in the ontologies become more complicated, finding the cause of errors becomes an extremely hard task even for experts. The problem is worse for newcomers to OWL who have little or no experience with DL-based knowledge representation. Existing ontology development environments, in conjunction with a reasoner, provide some limited debugging support, however this is restricted to merely reporting errors in the ontology, whereas bug diagnosis and resolution is usually left to the user. In this thesis, I present a complete end-to-end framework for explaining, pinpointing and repairing semantic defects in OWL-DL ontologies (or in other words, a SHOIN knowledge base). Semantic defects are logical contradictions that manifest as either inconsistent ontologies or unsatisfiable concepts. Where possible, I show extensions to handle related defects such as unsatisfiable roles, unintended entailments and nonentailments,
Inductive Synthesis of Recursive Logic Programs
, 1997
"... The inductive synthesis of recursive logic programs from incomplete information, such as input/output examples, is a challenging subfield both of ILP (Inductive Logic Programming) and of the synthesis (in general) of logic programs from formal specifications. We first overview past and present achie ..."
Abstract
-
Cited by 27 (8 self)
- Add to MetaCart
The inductive synthesis of recursive logic programs from incomplete information, such as input/output examples, is a challenging subfield both of ILP (Inductive Logic Programming) and of the synthesis (in general) of logic programs from formal specifications. We first overview past and present achievements, focusing on the techniques that were designed specifically for the inductive synthesis of recursive logic programs, but also discussing a few general ILP techniques that can also induce non-recursive hypotheses. Then we analyse the prospects of these techniques in this task, investigating their applicability to software engineering as well as to knowledge acquisition and discovery.
On the Use of Inductive Reasoning in Program Synthesis: Prejudice and Prospects
- IN L. FRIBOURG AND F. TURINI (EDS), JOINT PROC. OF META'94 AND LOPSTR'94
, 1994
"... In this position paper, we give a critical analysis of the deductive and inductive approaches to program synthesis, and of the current research in these fields. From the shortcomings of these approaches and works, we identify future research directions for these fields, as well as a need for coopera ..."
Abstract
-
Cited by 13 (6 self)
- Add to MetaCart
In this position paper, we give a critical analysis of the deductive and inductive approaches to program synthesis, and of the current research in these fields. From the shortcomings of these approaches and works, we identify future research directions for these fields, as well as a need for cooperation and cross-fertilization between them.
An Assertion Language for Debugging of Constraint Logic Programs
- In Proceedings of the ILPS'97 Workshop on Tools and Environments for (Constraint) Logic Programming
, 1997
"... this document is to serve as a basis for the design of an assertion language which suffices for the purpose of debugging in the context of constraint logic programming (CLP) [15] languages, while remaining tractable. There is a clear trade-off between the expressive power of the language of assertio ..."
Abstract
-
Cited by 11 (7 self)
- Add to MetaCart
this document is to serve as a basis for the design of an assertion language which suffices for the purpose of debugging in the context of constraint logic programming (CLP) [15] languages, while remaining tractable. There is a clear trade-off between the expressive power of the language of assertions and the difficulty of dealing with it. The assertion language proposed is parametric w.r.t. the constraint domain and the particular CLP platform being used and thus can be used for any of them. For example, an instance of the assertion language we propose has been implemented in the CIAO system [12, 2]. Details can be found in [11].
Declarative Debugging in Constraint Logic Programming
- Asian Computing Science Conference
, 1996
"... . This paper is motivated by the declarative insufficiency diagnosis of constraint logic programs, but focuses only on theoretical viewpoints. Many techniques have been developed for logic programming but cannot be merely adapted to constraint logic programming. Constraint logic program semantics is ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
. This paper is motivated by the declarative insufficiency diagnosis of constraint logic programs, but focuses only on theoretical viewpoints. Many techniques have been developed for logic programming but cannot be merely adapted to constraint logic programming. Constraint logic program semantics is redefined in terms of proof trees using a cover relation. Proof trees give an intrinsic definition to the answers provided by a program. The cover relation expresses that a constraint is covered by a (possibly infinite) constraint set. Thus we give a theoretical framework where declarative diagnosis method can be studied thanks to the inductive nature of the semantics. We define the notions of symptoms and errors and we prove that if there exists a symptom then there exists an error. 1 Introduction A great strength of Constraint Logic Programming (CLP) is its declarative nature. For a declarative language (with a semantics independent of its execution model), it is essential to consider a ...
Declarative Debugging in Gödel
, 1995
"... Declarative debugging is a method of debugging characterized by locating coding errors in a program using knowledge of the program's intended interpretation alone. A declarative debugger (GraDE) for Godel is presented which handles all of Godel's syntax together with support for abstract data types ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Declarative debugging is a method of debugging characterized by locating coding errors in a program using knowledge of the program's intended interpretation alone. A declarative debugger (GraDE) for Godel is presented which handles all of Godel's syntax together with support for abstract data types and coroutining. GraDE builds a computation tree for the program and goal, then works with this tree in a flexible way. The soundness and completeness of the debugger is proved. The performance of two well known approaches, top-down and divide-and-query, are compared on practical programs. GraDE also allows users to control the search method directly thus eliminating an automated search method. The implementation of G r aDE in Godel is discussed and proposals are put forward for further work.

