## Set-Based Failure Analysis for Logic Programs and Concurrent Constraint Programs (1999)

Venue: | PROGRAMMING LANGUAGES AND SYSTEMS, 8TH EUROPEAN SYMPOSIUM ON PROGRAMMING, ESOP'99, VOLUME 1576 OF LNCS |

Citations: | 6 - 1 self |

### BibTeX

@INPROCEEDINGS{Podelski99set-basedfailure,

author = {Andreas Podelski and Witold Charatonik and Martin Müller},

title = {Set-Based Failure Analysis for Logic Programs and Concurrent Constraint Programs},

booktitle = {PROGRAMMING LANGUAGES AND SYSTEMS, 8TH EUROPEAN SYMPOSIUM ON PROGRAMMING, ESOP'99, VOLUME 1576 OF LNCS},

year = {1999},

pages = {177--192},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

This paper presents the first approximation method of the finite-failure set of a logic program by set-based analysis. In a dual view, the method yields a type analysis for programs with ongoing behaviors (perpetual processes). Our technical contributions are (1) the semantical characterization of finite failure of logic programs over infinite trees and (2) the design and soundness proof of the first set-based analysis of logic programs with the greatest-model semantics. Finally, we exhibit the connection between finite failure and the inevitability of the `inconsistentstore ' error in fair executions of concurrent constraint programs where no process suspends forever. This indicates a potential application to error diagnosis for concurrent constraint programs.

### Citations

960 |
Negation as failure
- Clark
- 1978
(Show Context)
Citation Context ...es the abstraction of this semantics in the form of the greatest solution of the inferred co-definite set constraint (the greatest-fixpoint semantics is equal to the greatest model of P 's completion =-=[10]-=-). This solution assings to every program variable x a set of infinite trees that can be viewed as the type of x. This type describes a safe approximation (i.e. a superset) of the set of all possible ... |

768 | Constraint Logic Programming: A Survey
- Jaffar, Maher
- 1994
(Show Context)
Citation Context ...of infinite trees is the empty set; i.e., p(x) 2 FF (P ) if and only if gm(P )(p) = ;: 179 Proof. The only-if direction is a classical result (namely, the `algebraic soundness of finite failure', see =-=[28, 25]-=-). For the other direction, first note that equations over infinite trees have the saturation property, that is, an infinite set of constraints is satisfiable if every of its finite subsets is [28, 26... |

293 | The Oz Programming Model
- Smolka
- 1995
(Show Context)
Citation Context ...approximation (i.e. a superset) of the set of all possible runtime values for x in ongoing program executions. Finally, we consider a potential application to concurrent constraint programs (see e.g. =-=[36, 37]-=-). We carry over the approximation method of the greatest model to cc programs. This yields a type analysis for cc programs in the same sense as above. It also yields a failure analysis. In cc program... |

252 | Semantic Foundations of Concurrent Constraint Programming
- Saraswat, Rinard, et al.
- 1991
(Show Context)
Citation Context ...approximation (i.e. a superset) of the set of all possible runtime values for x in ongoing program executions. Finally, we consider a potential application to concurrent constraint programs (see e.g. =-=[36, 37]-=-). We carry over the approximation method of the greatest model to cc programs. This yields a type analysis for cc programs in the same sense as above. It also yields a failure analysis. In cc program... |

235 |
Tree Automata. Akadémiai Kiadó
- Gécseg, Steinby
- 1984
(Show Context)
Citation Context ...on over non-empty path-closed sets of finite trees to approximate the success set of a logic program. (A set of trees is path-closed if it can be recognized by a deterministic top-down tree automaton =-=[20]-=-.) Set constraints over non-empty path-closed sets also have the properties 1. and 2. above. Due to the non-standard interpretation, this holds even if n-ary constructor terms are allowed on the left ... |

199 |
Flow analysis and optimization of lisp-like structures
- Jones, D, et al.
- 1979
(Show Context)
Citation Context ...et-based program analysis, types, logic programs, concurrent constraint programs, finite failure, fairness 1 Introduction Set-based program analysis dates back to Reynolds [35] and Jones and Muchnick =-=[27]-=- and forms a well-established research topic by now (see [1, 24, 34] for overviews and further references). It has direct practical applications to type inference, optimization and verification of imp... |

135 | Complete axiomatization of the algebra of finite, rational and infinite trees - Maher - 1988 |

95 |
E.: Logic programs as types for logic programs
- Frühwirth, Shapiro, et al.
- 1991
(Show Context)
Citation Context ...rocess must suspend forever in order to avoid a runtime error is, however, a problem worth diagnosing and reporting. Related Work. To our knowledge, set-based analysis for logic programming (see e.g. =-=[5, 18, 13, 14, 22, 23, 30]-=-) has previously only been designed to approximate the success set (which can be characterized by the least model semantics). Mishra's analysis [30] is often cited as the historically first one here. ... |

94 |
Inductive definitions, semantics and abstract interpretation
- Cousot, Cousot
- 1992
(Show Context)
Citation Context ...matic. The necessity to consider greatest-fixed point semantics for the analysis of reactive systems has been observed by other authors and in the context of different programming paradigms (see e.g. =-=[11, 19]-=-). None of these analyses is set-based. Finally, we want to mention that the idea to derive necessary conditions for the inevitability of a runtime error by static analysis stems from the work of Bour... |

94 | A finite presentation theorem for approximating logic programs
- Heintze, Jaffar
- 1990
(Show Context)
Citation Context ...ze and Jaffar defined a set-based analysis for logic ? On leave from University of Wroc/law, Poland. Partially supported by Polish KBN grant 8T11C02913. 175 programs with the least model semantics in =-=[22]-=-. Their analysis is an approximation method for the success set of a logic program, i.e. for the set of initial queries for which a successfully terminating execution exists. In this paper, we conside... |

93 |
Abstract debugging of higher-order imperative languages
- Bourdoncle
- 1993
(Show Context)
Citation Context ... of these analyses is set-based. Finally, we want to mention that the idea to derive necessary conditions for the inevitability of a runtime error by static analysis stems from the work of Bourdoncle =-=[3]-=- on abstract debugging . 2 Logic Programs Preliminaries. We assume a ranked alphabet \Sigma fixing the arity ns0 of its function symbols f; g; : : : and constant symbols a; b; : : :, and an infinite s... |

75 |
Towards a theory of types in Prolog
- Mishra
- 1984
(Show Context)
Citation Context ...rocess must suspend forever in order to avoid a runtime error is, however, a problem worth diagnosing and reporting. Related Work. To our knowledge, set-based analysis for logic programming (see e.g. =-=[5, 18, 13, 14, 22, 23, 30]-=-) has previously only been designed to approximate the success set (which can be characterized by the least model semantics). Mishra's analysis [30] is often cited as the historically first one here. ... |

71 | Formal language, grammar and set-constraint-based program analysis by abstract interpretation
- Cousot, Cousot
- 1995
(Show Context)
Citation Context ...red set constraint 'P . The soundness of the abstraction follows directly. The schema 182 of our method (whose ingredients are Propositions 1 and Lemma 1 below) is described in an abstract setting in =-=[12]-=-. We next introduce the operator \Phi that assigns an inclusion of the form t ` x a co-definite set constraint. For example, \Phi(f (x; y) ` f(a; a)[f(b; b)) is essentially the conjunction of x ` f \G... |

69 | Set Constraints: Results, Applications, and Future Directions
- Aiken
- 1994
(Show Context)
Citation Context ...constraint programs, finite failure, fairness 1 Introduction Set-based program analysis dates back to Reynolds [35] and Jones and Muchnick [27] and forms a well-established research topic by now (see =-=[1, 24, 34]-=- for overviews and further references). It has direct practical applications to type inference, optimization and verification of imperative, functional, logic and, as we will see in this paper, also c... |

67 |
Automatic computation of data set definitions
- Reynolds
- 1969
(Show Context)
Citation Context ...: abstract interpretation, set-based program analysis, types, logic programs, concurrent constraint programs, finite failure, fairness 1 Introduction Set-based program analysis dates back to Reynolds =-=[35]-=- and Jones and Muchnick [27] and forms a well-established research topic by now (see [1, 24, 34] for overviews and further references). It has direct practical applications to type inference, optimiza... |

61 |
Foundations of Logic Programming. Symbolic computation
- Lloyd
- 1984
(Show Context)
Citation Context ...ee Theorem 2). In a different reading, our abstraction method is a type analysis of logic programs with ongoing behavior . Such programs are investigated under the denominationsperpetual processes in =-=[28]-=-. There, the semantics of such a program P is defined by the greatest-fixpoint semantics over the domain of infinite trees. Our analysis computes the abstraction of this semantics in the form of the g... |

58 | Proving concurrent constraint programs correct
- Boer, Gabbrielli, et al.
- 1997
(Show Context)
Citation Context ...niques based on abstract interpretation have been used (see e.g. [17]) but none that is related to set-based analysis. A first formal calculus for (partial) correctness of cc programs is developed in =-=[15]-=-. The proof methods there are more powerful than ours but not automatic. The necessity to consider greatest-fixed point semantics for the analysis of reactive systems has been observed by other author... |

51 | A decision procedure for a class of set constraints
- Heintze, Jaffar
- 1990
(Show Context)
Citation Context ...onal trees, or over finite trees (see Remarks 3 and 5). In the least-model analysis in [22], Heintze and Jaffar use definite set constraints; they give a corresponding constraint solving algorithm in =-=[21]-=- (see [9] for further results). Our analysis uses co-definite set constraints, which bear their name in duality to definite set constraints due to the fact that every satisfiable constraint in this cl... |

35 | Set Constraints and Set-Based Analysis
- Heintze, Jaffar
- 1994
(Show Context)
Citation Context ...constraint programs, finite failure, fairness 1 Introduction Set-based program analysis dates back to Reynolds [35] and Jones and Muchnick [27] and forms a well-established research topic by now (see =-=[1, 24, 34]-=- for overviews and further references). It has direct practical applications to type inference, optimization and verification of imperative, functional, logic and, as we will see in this paper, also c... |

28 | Practical model-based static analysis for definite logic programs
- Gallagher, Boulanger, et al.
- 1995
(Show Context)
Citation Context ...rocess must suspend forever in order to avoid a runtime error is, however, a problem worth diagnosing and reporting. Related Work. To our knowledge, set-based analysis for logic programming (see e.g. =-=[5, 18, 13, 14, 22, 23, 30]-=-) has previously only been designed to approximate the success set (which can be characterized by the least model semantics). Mishra's analysis [30] is often cited as the historically first one here. ... |

27 | Set-based analysis of reactive infinite-state systems - Charatonik, Podelski - 1998 |

27 | Set constraints with intersection
- Charatonik, Podelski
- 1997
(Show Context)
Citation Context ..., or over finite trees (see Remarks 3 and 5). In the least-model analysis in [22], Heintze and Jaffar use definite set constraints; they give a corresponding constraint solving algorithm in [21] (see =-=[9]-=- for further results). Our analysis uses co-definite set constraints, which bear their name in duality to definite set constraints due to the fact that every satisfiable constraint in this class has a... |

27 | Set constraints: a pearl in research on constraints
- Pacholski, Podelski
(Show Context)
Citation Context ...constraint programs, finite failure, fairness 1 Introduction Set-based program analysis dates back to Reynolds [35] and Jones and Muchnick [27] and forms a well-established research topic by now (see =-=[1, 24, 34]-=- for overviews and further references). It has direct practical applications to type inference, optimization and verification of imperative, functional, logic and, as we will see in this paper, also c... |

26 | Compositional Analysis for Concurrent Constraint Programming
- Falaschi, Gabbrielli, et al.
- 1993
(Show Context)
Citation Context ... of non-empty path-closed sets of infinite trees (see Remark 6). Regarding the analysis of concurrent constraint programs, various techniques based on abstract interpretation have been used (see e.g. =-=[17]-=-) but none that is related to set-based analysis. A first formal calculus for (partial) correctness of cc programs is developed in [15]. The proof methods there are more powerful than ours but not aut... |

22 | Regular approximations of computation paths in logic and functional languages
- Gallagher, Lafave
- 1996
(Show Context)
Citation Context |

21 | Solving classes of set constraints with tree automata
- Devienne, Talbot, et al.
- 1997
(Show Context)
Citation Context ...traints due to the fact that every satisfiable constraint in this class has a greatest solution. This fact is crucial for our analysis. Algorithms for solving co-definite set constraints are given in =-=[4, 16]-=-. In this paper, we focus on the definition of the analysis and the soundness of the abstraction, which is: the greatest solution of the co-definite set constraint 'P inferred from the program P is a ... |

18 | Systematic realisation of control flow analyses for CML, in: M. Tofte (Ed
- Gasser, Nielson, et al.
(Show Context)
Citation Context ...matic. The necessity to consider greatest-fixed point semantics for the analysis of reactive systems has been observed by other authors and in the context of different programming paradigms (see e.g. =-=[11, 19]-=-). None of these analyses is set-based. Finally, we want to mention that the idea to derive necessary conditions for the inevitability of a runtime error by static analysis stems from the work of Bour... |

18 | Semantic types for logic programs
- Heintze, Jaffar
- 1992
(Show Context)
Citation Context |

16 | Co-definite set constraints
- Charatonik, Podelski
- 1998
(Show Context)
Citation Context ...traints due to the fact that every satisfiable constraint in this class has a greatest solution. This fact is crucial for our analysis. Algorithms for solving co-definite set constraints are given in =-=[4, 16]-=-. In this paper, we focus on the definition of the analysis and the soundness of the abstraction, which is: the greatest solution of the co-definite set constraint 'P inferred from the program P is a ... |

16 | Directional type inference for logic programs
- Charatonik, Podelski
- 1998
(Show Context)
Citation Context |

13 | The horn mu-calculus - Charatonik, McAllester, et al. - 1998 |

12 | Functions as passive constraints in LIFE
- Aït-Kaci, Podelski
- 1994
(Show Context)
Citation Context ...ike f(x; f(x; : : :)) in order to model execution states with cyclic unifiers such y 7! f(x; y). Such terms can be finitely represented by equations, e.g. y = f(x; y), or by syntact annotations as in =-=[2]-=-. A ground query is a query V k p k (t k ) such that all t k are ground (i.e. without variables). We use the predicate constant true as the neutral element for conjunction: i.e., s = strue. In particu... |

9 |
Set constraints for greatest models
- Charatonik, Podelski
- 1997
(Show Context)
Citation Context ... of classical logic programs e.g. by Mishra [30] or by Heintze and Jaffar [22]. The practicability of our approach depends on the efficiency of the constraint solving. Succeeding the technical report =-=[8]-=- on which this paper and [4] are based, Devienne, Talbot and Tison [16] have given a strategy for solving co-definite set constraints which may achieve an exponential speedup. The realization of this ... |

4 |
Semantics of infinite tree logic programming
- Jaffar, Stuckey
- 1986
(Show Context)
Citation Context ...28, 25]). For the other direction, first note that equations over infinite trees have the saturation property, that is, an infinite set of constraints is satisfiable if every of its finite subsets is =-=[28, 26, 33]-=-. Now assume that p(x) 62 FF (P ). Since (see [28, 26]) gm(P )(p) = ft j p(t) 62 GFF (P )g; it is sufficient to show that there exists an infinite tree t such that p(t) 62 GFF (P ) (i.e., p(t) is not ... |

4 |
Denotational semantics of constraint logic program-ming - a non-standard approach
- PALMGREN
- 1994
(Show Context)
Citation Context ...28, 25]). For the other direction, first note that equations over infinite trees have the saturation property, that is, an infinite set of constraints is satisfiable if every of its finite subsets is =-=[28, 26, 33]-=-. Now assume that p(x) 62 FF (P ). Since (see [28, 26]) gm(P )(p) = ft j p(t) 62 GFF (P )g; it is sufficient to show that there exists an infinite tree t such that p(t) 62 GFF (P ) (i.e., p(t) is not ... |

3 | Type Analysis for a Higher-Order Concurrent Constraint Language - Muller - 1998 |