Results 1  10
of
59
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.
Combinations of Abstract Domains for Logic Programming: Open Product and Generic Pattern Construction
, 2000
"... Abstract interpretation is a systematic methodology to design static program analysis which has been studied extensively in the logic programming community, because of the potential for optimizations in logic programming compilers and the sophistication of the analyses which require conceptual suppo ..."
Abstract

Cited by 65 (20 self)
 Add to MetaCart
Abstract interpretation is a systematic methodology to design static program analysis which has been studied extensively in the logic programming community, because of the potential for optimizations in logic programming compilers and the sophistication of the analyses which require conceptual support. With the emergence of e#cient generic abstract interpretation algorithms for logic programming, the main burden in building an analysis is the abstract domain which gives a safe approximation of the concrete domain of computation. However, accurate abstract domains for logic programming are often complex not only because of the relational nature of logic programming languages and of their typical interprocedural control#ow, but also because of the variety of analyses to perform, their interdependence, and the need to maintain structural information. The purpose of this paper is to propose conceptual and software support for the design of abstract domains. It contains two main contributions: the notion of open product and a generic pattern domain. The open product is a new, language independent, way of combining abstract domains allowing each combined domain to bene#t from information from the other components through the notions of queries and open operations. It provides a framework to approximate Cousots' reduced product, while reusing existing implementations and providing methodological guidance on how to build domains for interaction and composition. It is orthogonal and complementary to Granger's product which improves the direct product by a decreasing iteration sequence based on re#nements but lets the domains interact only after the individual operations. The generic pattern domain Pat(R) automatically upgrades a domain D with structural information yielding a m...
Improving abstract interpretations by combining domains
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1995
"... This article considers static analysis based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains provide more information potentially than obtained by the independent analyses. However, the construction of a combined analysis often requ ..."
Abstract

Cited by 56 (18 self)
 Add to MetaCart
This article considers static analysis based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains provide more information potentially than obtained by the independent analyses. However, the construction of a combined analysis often requires redefining the basic operations for the combined domain. A practical approach to maintain precision in combined analyses of logic programs which reuses the individual analyses and does not redefine the basic operations is illustrated, The advantages of the approach are that (1) proofs of correctness for the new domains are not required and (2) implementations can be reused. The approach is demonstrated by showing that a combined sharing analysis — constructed from “old” proposals — compares well with other “new” proposals suggested in recent
Bottomup abstract interpretation of logic programs
 Theoretical Computer Science
, 1994
"... Abstract This paper presents a formal framework for the bottomup abstract interpretation of logic programs which can be applied to approximate answer substitutions, partial an swer substitutions and call patterns for a given program and arbitrary initial goal. The framework is based on a T P like ..."
Abstract

Cited by 56 (16 self)
 Add to MetaCart
Abstract This paper presents a formal framework for the bottomup abstract interpretation of logic programs which can be applied to approximate answer substitutions, partial an swer substitutions and call patterns for a given program and arbitrary initial goal. The framework is based on a T P like semantics defined over a Herbrand universe with variables which has previously been shown to determine the answer substitutions for arbitrary initial goals. The first part of the paper reconstructs this semantics to provide a more adequate basis for abstract interpretation. A notion of abstract substitution is introduced and shown to determine an abstract semantic function which for a given program can be applied to approximate the answer substitutions for an arbitrary initial goal.
Compositional Analysis of Modular Logic Programs
 In Proc. Twentieth Annual ACM Symp. on Principles of Programming Languages
, 1993
"... This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a compo ..."
Abstract

Cited by 55 (10 self)
 Add to MetaCart
This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a compositional semantics. The abstract meaning of a module corresponds to its analysis and composition of abstract meanings corresponds to composition of analyses. Such an approach is essential for large program development so that altering one module does not require reanalysis of the entire program. A compositional analysis for ground dependencies is included to illustrate the approach. To the best of our knowledge this is the first account of a compositional framework for the analysis of (logic) programs. 1 Introduction It is widely acknowledged that as the size of a program increases, it becomes impractical to maintain it as a single monolithic structure. Instead, the program has to be...
Generic Abstract Interpretation Algorithms for Prolog: Two Optimization Techniques and their Experimental Evaluation
, 1993
"... Interpretation Algorithms for Prolog: Two Optimization Techniques and their Experimental Evaluation* vincent englebert, baudouin le charlier and didier roland University of Namur, 21 rue Grandgagnage, B5000 Namur, Belgium pascal van hentenryck+ Brown University, Box 1910, Providence, RI 02912 ..."
Abstract

Cited by 41 (14 self)
 Add to MetaCart
Interpretation Algorithms for Prolog: Two Optimization Techniques and their Experimental Evaluation* vincent englebert, baudouin le charlier and didier roland University of Namur, 21 rue Grandgagnage, B5000 Namur, Belgium pascal van hentenryck+ Brown University, Box 1910, Providence, RI 02912, U.S.A.
Deriving Polymorphic Type Dependencies for Logic Programs Using Multiple Incarnations of Prop
, 1994
"... . This paper illustrates the application of abstract compilation using multiple incarnations of the domain Prop in deriving type dependencies for logic programs. We illustrate how dependencies can be derived in the presence of both monomorphic and polymorphic type information. Type dependencies gene ..."
Abstract

Cited by 40 (9 self)
 Add to MetaCart
. This paper illustrates the application of abstract compilation using multiple incarnations of the domain Prop in deriving type dependencies for logic programs. We illustrate how dependencies can be derived in the presence of both monomorphic and polymorphic type information. Type dependencies generalize the recently proposed notion of directional types as well as the more common notion of groundness dependencies. Directional types have proven useful in a number of applications such as in proving termination. These applications, however, are based on type declarations. The main contribution of this paper is in the simplicity in which nontrivial type dependencies are inferred using abstract compilation and by associating each type with an incarnation of Prop. We illustrate the use of a semantics for open logic programs in maintaining space efficient analyses. Time efficiency is also maintained due to approximation of the type domain in a boolean lattice calling on results of universal...
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 ...
Modeling answer constraints in Constraint Logic Programs
 Proc. Eighth Int'l Conf. on Logic Programming
, 1991
"... The constraint logic programming paradigm CLP(X) (CLP for short) has been proposed by Jaffar and Lassez in order to integrate a generic computational mechanism based on constraints with the logic programming framework. This paradigm retains the semantic properties of logic languages, namely the exis ..."
Abstract

Cited by 37 (11 self)
 Add to MetaCart
The constraint logic programming paradigm CLP(X) (CLP for short) has been proposed by Jaffar and Lassez in order to integrate a generic computational mechanism based on constraints with the logic programming framework. This paradigm retains the semantic properties of logic languages, namely the existence of equivalent operational, model theoretic and fixpoint semantics. Moreover, since computation is performed over the particular domain of computation X , CLP(X) programs have an equivalent "algebraic" semantics, i.e. a semantics which is defined directly on the algebraic structure of the domain X . In this paper we propose an extension of such a semantics, for the success set case, in order to fully characterize the operational behaviour of programs. We introduce a framework for defining various notions of models, each corresponding to a specific operationally observable property. The construction is based on a new notion of interpretation (set of constrained atoms), on a natural exten...
A Generalized Semantics for Constraint Logic Programs
, 1992
"... We present a simple and powerful generalized algebraic semantics for constraint logic programs that is parameterized with respect to the underlying constraint system. "Generalized semantics" abstract away from standard semantics objects, by focusing on the general properties of any (possibly nonsta ..."
Abstract

Cited by 32 (13 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. "Generalized semantics" abstract away from standard semantics objects, by focusing on the general properties of any (possibly nonstandard) semantics definition. In constraint logic programming, this corresponds to a suitable definition of the constraint system supporting the semantics definition. An algebraic structure is introduced to formalize the constraint system notion, thus making applicable classical mathematical results and both a topdown and bottomup semantics are considered. Nonstandard semantics for CLP can then be formally specified by means of the same techniques used to define standard semantics. Different nonstandard semantics for constraint logic languages can be specified in this framework: e.g. abstract interpretation, machine level traces and any computation based on an instance of the constraint system.