Results 1  10
of
20
FiniteTree Analysis for Constraint LogicBased Languages: The Complete Unabridged Version
, 2001
"... Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that rational trees allow for faster unification (due to the safe omission of the occurscheck) and increased expressivity (cyclic terms can provide very efficient representations of grammars and other usef ..."
Abstract

Cited by 43 (16 self)
 Add to MetaCart
Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that rational trees allow for faster unification (due to the safe omission of the occurscheck) and increased expressivity (cyclic terms can provide very efficient representations of grammars and other useful objects). Unfortunately, the use of infinite rational trees has problems. For instance, many of the builtin and library predicates are illdefined for such trees and need to be supplemented by runtime checks whose cost may be significant. Moreover, some widelyused program analysis and manipulation techniques are correct only for those parts of programs working over finite trees. It is thus important to obtain, automatically, a knowledge of the program variables (the finite variables) that, at the program points of interest, will always be bound to finite terms. For these reasons, we propose here a new dataflow analysis, based on abstract interpretation, that captures such information. We present a parametric domain where a simple component for recording finite variables is coupled, in the style of the open product construction of Cortesi et al., with a generic domain (the parameter of the construction) providing sharing information. The sharing domain is abstractly specified so as to guarantee the correctness of the combined domain and the generality of the approach. This finitetree analysis domain is further enhanced by coupling it with a domain of Boolean functions, called finitetree dependencies, that precisely captures how the finiteness of some variables influences the finiteness of other variables. We also summarize our experimental results showing how finitetree analysis, enhanced with finitetree dependencies, is a practical means of obtaining precise finitenes...
Automatic analysis of programming assignments
 In Proceedings of the 1. Fachtagung ”eLearning” der Gesellschaft für Informatik (DeLFI 2003). Köllen
, 2003
"... Abstract: In a virtual university, advanced support for all aspects of handling assignments is needed. Homework assignments are particularly in need of help because communication between teachers and learners as well as between learners is not as easy as in presence universities. In this paper, we ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
Abstract: In a virtual university, advanced support for all aspects of handling assignments is needed. Homework assignments are particularly in need of help because communication between teachers and learners as well as between learners is not as easy as in presence universities. In this paper, we present an overview of the AT(x) approach (analyzeandtest) for automatically analyzing and testing programs. We describe how AT(x) is used for giving feedback to students working on programming exercises. The AT(x) framework is instantiated to AT(P) and AT(S) aiming at programs written in Prolog and Scheme, respectively. 1
Annotations for Prolog  A concept and runtime handling
 LOPSTR'99: 9th Int. Workshop on Logicbased Program Synthesis and Transformation, Venezia, volume 1817 of LNCS
, 2000
"... Abstract. A concept of annotations for rendering procedural aspects of Prolog is presented, built around wellknown procedural concepts of Standard Prolog. Annotations describe properties of predicates. Such properties can be pre or post conditions, which must hold true when a predicate is called or ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
Abstract. A concept of annotations for rendering procedural aspects of Prolog is presented, built around wellknown procedural concepts of Standard Prolog. Annotations describe properties of predicates. Such properties can be pre or post conditions, which must hold true when a predicate is called or exited, respectively. Our concept transcends pre/post conditions: we introduce two more kinds of annotations, fail and redo annotations, hence incorporating a whole model of Prolog execution into our language. This enables natural rendering of many procedural properties of Prolog which cannot be expressed with only pre/post conditions. There are four more novelties in our approach. First, any annotation can be “narrowed down ” to a subset of calls, via templates and contexts, giving much more flexible assertions. Notably the novel idea of calling context adds significant expressive power, as a bridge towards programpoint assertions. The annotations are defined simply as Prolog goals, making them fully parametric and therefore very comfortable for debugging. Finally, the annotations are applied via a general kind of matching instead of unification, enabling the use of local variables. All examples presented here are actual runs of our system Nope, which is a Prolog module. 1
Formal Verification of Logic Programs: Foundations and Implementation
 In Logical Foundations of Computer Science LFCS '97  Logic at Yaroslavl
, 1997
"... . We present the theoretical foundations of LPTP, a logic program theorem prover implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove termination and correctness properties of pure Prolog programs that contain negation and builtin predicates like is/2 an ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
. We present the theoretical foundations of LPTP, a logic program theorem prover implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove termination and correctness properties of pure Prolog programs that contain negation and builtin predicates like is/2 and call/n. The largest program that has been verified using LPTP is 635 lines long including its specification. The full formal correctness proof is 13128 lines long (133 pages). The formal theory underlying LPTP is the inductive extension of pure Prolog programs. This is a firstorder theory that contains induction principles corresponding to the definition of the predicates in the program plus appropriate axioms for builtin predicates. 1
Bounded Nondeterminism of Logic Programs
 Proc. of the International Conference on Logic Programming
, 1999
"... We introduce the notion of bounded nondeterminism for logic programs and queries. A program and a query have bounded nondeterminism if there are finitely many refutations for them via any selection rule. We o#er a declarative characterization of the class of programs and queries that have bounded ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
We introduce the notion of bounded nondeterminism for logic programs and queries. A program and a query have bounded nondeterminism if there are finitely many refutations for them via any selection rule. We o#er a declarative characterization of the class of programs and queries that have bounded nondeterminism by defining bounded programs and queries. The characterization is provided in terms of Herbrand interpretations and level mappings, in the style of existing characterizations of universal termination.
M.: A pragmatic approach to pretesting Prolog programs
 Applications of Declarative Programming and Knowledge Management. 15th International Conference on Applications of Declarative Programming and Knowledge Management, INAP 2004, and 18th Workshop on Logic Programming, WLP 2004
, 2004
"... Abstract. We present an overview on the AT(x) approach which is capable of automatically analyzing programs with respect to given tests and a reference solution. In the context of small homework assignments with precisely describable tasks, AT(P), a Prolog instance of the general AT(x) framework, is ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We present an overview on the AT(x) approach which is capable of automatically analyzing programs with respect to given tests and a reference solution. In the context of small homework assignments with precisely describable tasks, AT(P), a Prolog instance of the general AT(x) framework, is able to find many of the errors usually made by students and to communicate them in a manner understandable for beginners in Prolog programming. The system is being used in distance education where direct communication between students and tutors is most of the time not possible. 1
The Finite Stages of Inductive Definitions
 Logical Foundations of Mathematics, Computer Science and Physics — Kurt Gödel’s Legacy
, 1996
"... . In general, the least fixed point of a positive elementary inductive definition over the Herbrand universe is # 1 1 and has no computational meaning. The finite stages, however, are computable, since validity of equality formulas in the Herbrand universe is decidable. We set up a formal system BI ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
. In general, the least fixed point of a positive elementary inductive definition over the Herbrand universe is # 1 1 and has no computational meaning. The finite stages, however, are computable, since validity of equality formulas in the Herbrand universe is decidable. We set up a formal system BID for the finite stages of positive elementary inductive definitions over the Herbrand universe and show that the provably total functions of the system are exactly that of Peano arithmetic. The formal system BID contains the socalled inductive extension of a logic program as a special case. This firstorder theory can be used to prove termination and correctness properties of pure Prolog programs, since notions like negationasfailure and lefttermination can be turned into positive inductive definitions. 1 Why inductive definitions over the Herbrand universe? In traditional logic programming, the semantics of a program is always given by the least fixed point of a monotonic operator over the Herbrand universe. The first example is the wellknown van EmdenKowalski operator for definite Horn clause programs in [25]. This operator is defined by a purely existential formula and is therefore continuous. The least fixed point of the operator is recursively enumerable. Moreover, the finite stages of the inductive definition are exactly what is computed by SLDresolution. In [11], Fitting has generalized the van EmdenKowalski operator using threevalued logic to programs which may also contain negation in the bodies of the clauses. Although Fitting's operator is still monotonic it is no longer continuous. It follows from Blair [2] and Kunen [14] that the least fixed point of this operator can be # 1 1 complete and that the closure ordinal can be # CK 1 even for definite Horn...
The Witness Properties and the Semantics of the Prolog Cut
, 1999
"... : The semantics of the Prolog "cut" construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of responses to queries. A generalization of Prolog with neg ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
: The semantics of the Prolog "cut" construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of responses to queries. A generalization of Prolog with negation as failure and cut is described, and shown not to have the witness properties. A restriction of the system is then described, which preserves the choice and firstsolution behaviour of cut but allows the system to have the witness properties. A static analysis system is described which allows programs to be computed in a more efficient manner under the restricted system. The restricted system is then given an abstract semantics, which depends essentially on the witness properties. Finally, it is shown how the abstract semantics can be used to simplify proofs of properties of programs. Parts of this paper appeared previously in a different form in the Proceedings of the 1995 International Logic ...
Towards alignment of architectural domains in security policy specifications
 Proccedings of the 8th International Symposium on System and Information Security, Sao Jose dos
, 2006
"... specifications ..."
(Show Context)
Under consideration for publication in Theory and Practice of Logic Programming 1 The Witness Properties and the Semantics of the Prolog Cut
, 2002
"... The semantics of the Prolog “cut ” construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of responses to queries. A generalization of Prolog with negation as fa ..."
Abstract
 Add to MetaCart
(Show Context)
The semantics of the Prolog “cut ” construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of responses to queries. A generalization of Prolog with negation as failure and cut is described, and shown not to have the witness properties. A restriction of the system is then described, which preserves the choice and firstsolution behaviour of cut but allows the system to have the witness properties. The notion of cut in the restricted system is more restricted than the Prolog hard cut, but retains the useful firstsolution behaviour of hard cut, not retained by other proposed cuts such as the “soft cut”. It is argued that the restricted system achieves a good compromise between the power and utility of the Prolog cut and the need for internal consistency in logic programming systems. The restricted system is given an abstract semantics, which depends on the witness properties; this semantics suggests that the restricted system has a deeper connection to logic than simply permitting some computations which are logical. Parts of this paper appeared previously in a different form in the Proceedings of the