Results 1  10
of
28
SemiringBased Constraint Satisfaction and Optimization
 JOURNAL OF THE ACM
, 1997
"... We introduce a general framework for constraint satisfaction and optimization where classical CSPs, fuzzy CSPs, weighted CSPs, partial constraint satisfaction, and others can be easily cast. The framework is based on a semiring structure, where the set of the semiring specifies the values to be asso ..."
Abstract

Cited by 159 (20 self)
 Add to MetaCart
We introduce a general framework for constraint satisfaction and optimization where classical CSPs, fuzzy CSPs, weighted CSPs, partial constraint satisfaction, and others can be easily cast. The framework is based on a semiring structure, where the set of the semiring specifies the values to be associated with each tuple of values of the variable domain, and the two semiring operations (1 and 3) model constraint projection and combination respectively. Local consistency algorithms, as usually used for classical CSPs, can be exploited in this general framework as well, provided that certain conditions on the semiring operations are satisfied. We then show how this framework can be used to model both old and new constraint solving and optimization schemes, thus allowing one to both formally justify many informally taken choices in existing schemes, and to prove that local consistency techniques can be used also in newly defined schemes.
SSemantics Approach: Theory and Applications
, 1994
"... The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semanticsbased program analysis. The approach leads to the intr ..."
Abstract

Cited by 115 (26 self)
 Add to MetaCart
The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semanticsbased program analysis. The approach leads to the introduction of extended interpretations which are more expressive than Herbrand interpretations. The semantics in terms of extended interpretations can be obtained as a result of both an operational (topdown) and a fixpoint (bottomup) construction. It can also be characterized from the modeltheoretic viewpoint, by defining a set of extended models which contains standard Herbrand models. We discuss the original construction modeling computed answer substitutions, its compositional version and various semantics modeling more concrete observables. We then show how the approach can be applied to several extensions of positive logic programs. We finally consider some applications, mainly in the area of semanticsbased program transformation and analysis.
Type Dependencies for Logic Programs using ACIunification
 In Proceedings of the 1996 Israeli Symposium on Theory of Computing and Systems
, 1996
"... This paper presents a new notion of typing for logic programs which generalizes the notion of directional types. The generation of type dependencies for a logic program is fully automatic with respect to a given domain of types. The analysis method is based on a novel combination of program abstract ..."
Abstract

Cited by 44 (8 self)
 Add to MetaCart
This paper presents a new notion of typing for logic programs which generalizes the notion of directional types. The generation of type dependencies for a logic program is fully automatic with respect to a given domain of types. The analysis method is based on a novel combination of program abstraction and ACIunification which is shown to be correct and optimal. Type dependencies are obtained by abstracting programs, replacing concrete terms by their types, and evaluating the meaning of the abstract programs using a standard semantics for logic programs enhanced by ACIunification. This approach is generic and can be used with any standard semantics. The method is both theoretically clean and easy to implement using general purpose tools. The proposed domain of types is condensing which means that analyses can be carried out in both topdown or bottomup frameworks with no loss of precision for goalindependent analyses. The proposed method has been fully implemented within a bottomup approach and the experimental results are promising.
Generalized Semantics and Abstract Interpretation for Constraint Logic Programs
, 1995
"... We present a simple and powerful generalized algebraic semantics for constraint logic programs that is parameterized with respect to the underlying constraint system. The idea is to abstract away from standard semantic objects by focusing on the general properties of any possibly nonstandard ..."
Abstract

Cited by 38 (5 self)
 Add to MetaCart
We present a simple and powerful generalized algebraic semantics for constraint logic programs that is parameterized with respect to the underlying constraint system. The idea is to abstract away from standard semantic objects by focusing on the general properties of any possibly nonstandard  semantic definition. In constraint logic programming, this corresponds to a suitable definition of the constraint system supporting the semantic definition. An algebraic structure is introduced to formalize the notion of a constraint system, thus making classical mathematical results applicable. Both topdown and bottomup semantics are considered. Nonstandard semantics for constraint logic programs can then be formally specified using the same techniques used to define standard semantics. Different nonstandard semantics for constraint logic languages can be specified in this ...
Global Analysis of Standard Prolog Programs
, 1996
"... . Abstract interpretationbased dataflow analysis of logic programs is, at this point, relatively well understood from the point of view of general frameworks and abstract domains. On the other hand, comparatively little attention has been given to the problems which arise when analysis of a full, ..."
Abstract

Cited by 37 (23 self)
 Add to MetaCart
. Abstract interpretationbased dataflow analysis of logic programs is, at this point, relatively well understood from the point of view of general frameworks and abstract domains. On the other hand, comparatively little attention has been given to the problems which arise when analysis of a full, practical dialect of the Prolog language is attempted, and only few solutions to these problems have been proposed to date. Existing proposals generally restrict in one way or another the classes of programs which can be analyzed. This paper attempts to fill this gap by considering a full dialect of Prolog, essentially the recent ISO standard, pointing out the problems that may arise in the analysis of such a dialect, and proposing a combination of known and novel solutions that together allow the correct analysis of arbitrary programs which use the full power of the language. Keywords: Logic Programming, Abstract Interpretation, Optimization 1 Introduction Global program analysis, general...
On the Complexity of Dataflow Analysis of Logic Programs
, 1992
"... This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worstcase computational complexity of a number of dataflow analyses with different degrees of precisi ..."
Abstract

Cited by 35 (4 self)
 Add to MetaCart
This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worstcase computational complexity of a number of dataflow analyses with different degrees of precision. While this article considers the analysis of logic programs, the technique proposed, namely the use of "exactness sets" to study relationships between complexity and precision of analyses, is not specific to logic programming in any way, and is equally applicable to flow analyses of other language families.
Inferring Leftterminating Classes of Queries for Constraint Logic Programs
 Proc. JICSLP'96
, 1996
"... This paper presents an approach for universal lefttermination of constraint logic programs, based on approximations. An approximation is basically an algebraic morphism between two constraint structures. By moving from the original domain to natural numbers, we compute interargument relations and ..."
Abstract

Cited by 34 (14 self)
 Add to MetaCart
This paper presents an approach for universal lefttermination of constraint logic programs, based on approximations. An approximation is basically an algebraic morphism between two constraint structures. By moving from the original domain to natural numbers, we compute interargument relations and some control information about a program. By moving from the natural numbers to the booleans, we compute a boolean term called a termination condition such that if the boolean approximation of a goal entails the termination condition, then the Prolog computation tree for that goal is finite.
An Algebraic Theory of Observables
, 1994
"... We give an algebraic formalization of SLDtrees and their abstractions (observables) . We can state and prove in the framework several useful theorems (ANDcompositionality, correctness and full abstraction of the denotation, equivalent topdown and bottomup constructions) about semantic properties ..."
Abstract

Cited by 28 (9 self)
 Add to MetaCart
We give an algebraic formalization of SLDtrees and their abstractions (observables) . We can state and prove in the framework several useful theorems (ANDcompositionality, correctness and full abstraction of the denotation, equivalent topdown and bottomup constructions) about semantic properties of various observables. Observables are represented by Galois coinsertions and can be used to model abstract interpretation. The constructions and the theorems are inherited by all the observables which can be formalized in the framework. The power of the framework is shown by reconstructing some known examples (answer constraints, call patterns, correct call patterns and ground dependencies call patterns). 1 Introduction SLDtrees are structures used to describe the operational semantics of logic programs. From an SLDtree we can derive several operational properties which are useful for reasoning about programs. Examples are SLD  derivations, resultants, call patterns, partial answers,...
Observable Semantics for Constraint Logic Programs
 Journal of Logic and Computation
, 1995
"... We consider the Constraint Logic Programming paradigm CLP(X ), as defined by Jaffar and Lassez [29, 28]. CLP(X ) integrates a generic computational mechanism based on constraints within the logic programming framework. The paradigm retains the semantic properties of pure logic programs, namely the e ..."
Abstract

Cited by 28 (2 self)
 Add to MetaCart
We consider the Constraint Logic Programming paradigm CLP(X ), as defined by Jaffar and Lassez [29, 28]. CLP(X ) integrates a generic computational mechanism based on constraints within the logic programming framework. The paradigm retains the semantic properties of pure logic programs, namely the existence of equivalent operational, modeltheoretic and fixpoint semantics. We introduce a framework for defining various semantics, each corresponding to a specific observable property of CLP computations. Each semantics can be defined either operationally (i.e. topdown) or declaratively (i.e. bottomup). The construction is based on a new notion of interpretation, on a natural extension of the standard notion of model and on the definition of various immediate consequences operators, whose least fixpoints on the lattice of interpretations are models corresponding to various observable properties. We first consider some semantics defined in [29] and their relations, in terms of correctne...
Abductive Analysis of Modular Logic Programs
 Journal of Logic and Computation
, 1994
"... We introduce a practical method for abductive analysis of modular logic programs. This is obtained by reversing the deduction process, which is usually applied in staticdataflow analysis of logic programs. The approach is validated in the framework of abstract interpretation. The abduced informatio ..."
Abstract

Cited by 18 (0 self)
 Add to MetaCart
We introduce a practical method for abductive analysis of modular logic programs. This is obtained by reversing the deduction process, which is usually applied in staticdataflow analysis of logic programs. The approach is validated in the framework of abstract interpretation. The abduced information provides an abstract specification for program modules which can be of assistance both in topdown development of programs and in compiletime optimization. To the best of our knowledge this is the first application of abductive reasoning in dataflow analysis of logic programs. 1 Introduction Dataflow analysis by abstract interpretation is typically intended to statically derive approximated information (the analysis) about runtime properties of programs, by applying rules (clauses) to initial states (goals), with the inference of a result. This deductive approach to logic program analysis is usually based on abstract unfolding (i.e. replacement + abstract unification) and is shared by s...