## Set Constraints and Set-Based Analysis (1994)

Venue: | In Proceedings of the Workshop on Principles and Practice of Constraint Programming, LNCS 874 |

Citations: | 37 - 0 self |

### BibTeX

@INPROCEEDINGS{Heintze94setconstraints,

author = {Nevin Heintze and Joxan Jaffar},

title = {Set Constraints and Set-Based Analysis},

booktitle = {In Proceedings of the Workshop on Principles and Practice of Constraint Programming, LNCS 874},

year = {1994},

pages = {281--298},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper contains two main parts. The first examines the set constraint calculus, discusses its history, and overviews the current state of known algorithms and related issues. Here we will also survey the uses of set constraints, starting from early work in (imperative) program analysis, to more recent work in logic and functional programming systems. The second part describes set-based analysis. The aim here is a declarative interpretation of what it means to approximate the meaning of a program in just one way: ignore dependencies between variables, and instead, reason about each variable as the set of its possible runtime values. The basic approach starts with some description of the operational semantics, and then systematically replaces descriptions of environments (mappings from program variables to values) by set environments (mappings from program variables to sets

### Citations

2022 |
Abstract Interpretation: A unified lattice model for static analysis of programs by construction of approximations of fixed points, in "Principles of Programming Languages 4
- COUSOT, COUSOT
- 1977
(Show Context)
Citation Context ...r Analysis Techniques A key advantage of set-based analysis (and, more generally, the use of set constraints to perform program analysis), in comparison to standard abstract interpretation techniques =-=[7], is that -=-there is no underlying abstract domain. When using an abstract domain, the requirement of "finite ascending chains" is typically required for termination, and this limits the usable abstract... |

1627 | The definition of Standard ML
- Milner, Tofte, et al.
- 1990
(Show Context)
Citation Context ... they have closer and much simpler relationship to the underlying operational semantics (see [12, 16] for further details). 3.3 Functional Programs To analyze functional languages such as Standard ML =-=[23]-=-, set constraints must be extended with a mechanism to deal with higher-order functions. In essence, this is achieved by the addition of three new components. First, the set of underlying values is en... |

300 |
Decidability of second-order theories and automata on infinite trees
- Rabin
- 1969
(Show Context)
Citation Context ...able. Note that satisfiable positive set constraints do not always have a least model. Subsequently, [9] provided an alternative procedure using tree automata techniques. Starting with Rabin's result =-=[28]-=- that the theory of k-successors is decidable, they generalized the Rabin automaton to accomodate positive set constraints. They further showed that satisfiable positive constraints always have a regu... |

224 | Type inclusion constraints and type inference
- Aiken, Wimmers
- 1993
(Show Context)
Citation Context ...tensions of regular grammars instead of constraints. 5 Subsequently, a number of set constraint approaches have been developed for the analysis of higher-order functional languages (see, for example, =-=[27, 12, 2, 3, 13]-=-). Perhaps the most developed of these approaches are those by [12, 13] and [2, 3]. The former starts with an operational semantics, and develops a set-based analysis for this semantics. The constrain... |

209 | Flow analysis and optimization of lisp-like structures
- Jones, Muchnick
- 1979
(Show Context)
Citation Context ...ief History The use of set constraints for analysis of programs dates back to the early works by Reynolds [29] (who presents an analysis for a first-order functional language), and Jones and Muchnick =-=[22]-=- (who present an analysis for a simple imperative language). In both of these works, the set constraints used are quite simple: the only set operations employed are union and projection (there are no ... |

191 | Soft typing with conditional types
- Aiken, Wimmers, et al.
- 1994
(Show Context)
Citation Context ...tensions of regular grammars instead of constraints. 5 Subsequently, a number of set constraint approaches have been developed for the analysis of higher-order functional languages (see, for example, =-=[27, 12, 2, 3, 13]-=-). Perhaps the most developed of these approaches are those by [12, 13] and [2, 3]. The former starts with an operational semantics, and develops a set-based analysis for this semantics. The constrain... |

102 | Fast and Precise Regular Approximations of Logic Programs
- Gallagher, Waal
- 1994
(Show Context)
Citation Context ...an the exact meaning, lfp(T P )). In [16], a more accurate operatorsP was used. (Roughly, Y P ignores inter-argument dependencies, whilesP ignores only intervariable dependencies.) A more recent work =-=[8]-=- used the closure operators (in conjunction with another approximation technique called widening) to define and compute a program approximation. The relationship between these closure-based fixpoint o... |

97 | A finite presentation theorem for approximating logic programs
- Heintze, Jaffar
- 1990
(Show Context)
Citation Context ...ple, [32] defined the operator Y P (S) def = (T P (S)) and the approximate meaning of the program is the least fixpoint lfp(Y P ) of Y P (which is always larger than the exact meaning, lfp(T P )). In =-=[16]-=-, a more accurate operatorsP was used. (Roughly, Y P ignores inter-argument dependencies, whilesP ignores only intervariable dependencies.) A more recent work [8] used the closure operators (in conjun... |

84 |
Replacing function parameters by global variables
- Sestoft
- 1989
(Show Context)
Citation Context ...as been extended by [21] to deal with higher-order functions. This approach has been further developed for binding time analysis [24], garbage collection [20] and globalization of function parameters =-=[30]-=-. One presentational difference in these works is the use of various extensions of regular grammars instead of constraints. 5 Subsequently, a number of set constraint approaches have been developed fo... |

80 | Solving systems of set constraints
- Aiken, Wimmers
- 1992
(Show Context)
Citation Context ...tation of the least model of a (satisfiable) collection of definite set constraints. [17] also posed decidability of the satisfiability problem for general set constraints as an open question. Later, =-=[1]-=- proved the decidability of a different, and incomparable, class: the positive set constraints. These are defined simply to be set constraints not involving projection. This procedure reduces the cons... |

77 |
Towards a theory of types in Prolog
- Mishra
- 1984
(Show Context)
Citation Context ...tcoming is one of the motivations for set-based analysis, discussed later in this paper. Logic Programs The use of set constraints for the bottom-up analysis of logic programs was first considered in =-=[25]-=-. The set constraints in this relatively early work were rather specialized and used a form of approximation called tuple-distributive closure (hereafter just called closure). This closure, which was ... |

73 |
A type system for logic programs
- Yardeni, Shapiro
- 1991
(Show Context)
Citation Context ...proximation starts from the (bottom-up) fixpoint operator T P of a program P , and the approximate meaning of a program is obtained by imposing closure on each iteration of the operator. For example, =-=[32]-=- defined the operator Y P (S) def = (T P (S)) and the approximate meaning of the program is the least fixpoint lfp(Y P ) of Y P (which is always larger than the exact meaning, lfp(T P )). In [16], a m... |

72 |
Automatic computation of data set definitions
- Reynolds
- 1968
(Show Context)
Citation Context ...ariable is a regular set, that is, a set accepted by a nondetermistic tree automaton. 2.2 A Brief History The use of set constraints for analysis of programs dates back to the early works by Reynolds =-=[29]-=- (who presents an analysis for a first-order functional language), and Jones and Muchnick [22] (who present an analysis for a simple imperative language). In both of these works, the set constraints u... |

71 | Set constraints are the monadic class
- Bachmair, Ganzinger, et al.
- 1993
(Show Context)
Citation Context ...lution (all variables are assigned a regular set), and a minimal and maximal regular solution. While the class of definite constraints and the class of positive classes are not comparable, 3 the work =-=[5]-=- proved decidability of a class subsuming the two. Briefly, the set constraints considered here are the positive ones, extended to allow projections in a restricted way. The importance of this work pr... |

52 | Decidability of systems of set constraints with negative constraints
- Aiken, Kozen, et al.
- 1995
(Show Context)
Citation Context ...to positve constraints with negations of subset relationships such as se 1 6` se 2 , remains decidable. Once again, tree automata techniques were used here. An alternative procedure was then given by =-=[4]-=-, by reduction to a number-theoretic decision problem. Subsequently, [6] used the abovementioned translation of set constraints to the monadic class to provide a straightforward procedure for deciding... |

52 |
Constraint-based program analysis
- Aiken, Heintze
- 1995
(Show Context)
Citation Context ...tensions of regular grammars instead of constraints. 5 Subsequently, a number of set constraint approaches have been developed for the analysis of higher-order functional languages (see, for example, =-=[27, 12, 2, 3, 13]-=-). Perhaps the most developed of these approaches are those by [12, 13] and [2, 3]. The former starts with an operational semantics, and develops a set-based analysis for this semantics. The constrain... |

37 |
Solving systems of set constraints with negated subset relationships
- Gilleron, Tison, et al.
- 1993
(Show Context)
Citation Context ...y monadic predicate symbols. The transformation is simple and elegant, and gave rise to complexity results on set constraints based on similar results in the monadic class. The next step was taken by =-=[10]-=-, who proved that negative set constraints, ie. the extension to positve constraints with negations of subset relationships such as se 1 6` se 2 , remains decidable. Once again, tree automata techniqu... |

35 |
A decision procedure for a class of Herbrand set constraints
- Heintze, Jaar
- 1990
(Show Context)
Citation Context ...antified expressions). We say more about these applications in the next subsection. The general calculus of set constraints, as defined above, was first formalized and studied in a general setting in =-=[17]-=-. This work also presented a decision procedure for the class of definite set constraints (recall that definite constraints do not contain the complement symbol, and are restricted to the form a ' se ... |

33 |
Separating binding times in language specifications
- Mogensen
- 1989
(Show Context)
Citation Context ... ) is decidable. Functional Programs The general approach of [22, 29] has been extended by [21] to deal with higher-order functions. This approach has been further developed for binding time analysis =-=[24]-=-, garbage collection [20] and globalization of function parameters [30]. One presentational difference in these works is the use of various extensions of regular grammars instead of constraints. 5 Sub... |

32 |
Flow analysis of lazy higher-order functional programs
- Jones, Andersen
- 2007
(Show Context)
Citation Context ...ve notion of approximation, and importantly, the approximation is decidable. It is open as to whether lfp(Y P ) is decidable. Functional Programs The general approach of [22, 29] has been extended by =-=[21]-=- to deal with higher-order functions. This approach has been further developed for binding time analysis [24], garbage collection [20] and globalization of function parameters [30]. One presentational... |

29 | Safety analysis versus type inference for partial types
- Palsberg, Schwartzbach
- 1992
(Show Context)
Citation Context |

26 |
Solving systems of set constraints using tree automata
- Gilleron, Tison, et al.
- 1993
(Show Context)
Citation Context ...duction terminates without detecting inconsistency, the resulting constraints are evidently satisfiable. Note that satisfiable positive set constraints do not always have a least model. Subsequently, =-=[9]-=- provided an alternative procedure using tree automata techniques. Starting with Rabin's result [28] that the theory of k-successors is decidable, they generalized the Rabin automaton to accomodate po... |

20 |
A backwards analysis for compile-time garbage collection
- Jensen, Mogensen
(Show Context)
Citation Context ...al Programs The general approach of [22, 29] has been extended by [21] to deal with higher-order functions. This approach has been further developed for binding time analysis [24], garbage collection =-=[20]-=- and globalization of function parameters [30]. One presentational difference in these works is the use of various extensions of regular grammars instead of constraints. 5 Subsequently, a number of se... |

19 | An engine for logic program analysis
- Heintze, Jaar
- 1992
(Show Context)
Citation Context ...er. Of course, the main limitation of set-based analysis is that all inter-variable dependencies are ignored. Such dependencies can be crucial for some kinds of analysis such as 12 mode analysis (see =-=[19]-=- for a discussion of this issue). In contrast, abstract interpretation techniques can retain a limited amount of information about dependencies (although there is, of course, additional computational ... |

17 | Semantic types for logic programs
- Heintze, Jaffar
- 1992
(Show Context)
Citation Context ...th another approximation technique called widening) to define and compute a program approximation. The relationship between these closure-based fixpoint operators and set constraints was described in =-=[18]-=-. One result is that the models of the set constraints in [25], essentially correspond to the fixpoints of Y P . A similar result was that the other fixpoint operatorsP corresponded to certain formula... |

10 | Sorted unification using set constraints
- Uribe
- 1992
(Show Context)
Citation Context ...; Even = 0 [ succ(Odd) In general, sorted unification is decidable only when the sort theory is restricted in some way. In the literature, a typical restriction is that the sorts are regular sets. In =-=[31]-=-, a restricted class of set constraints is used to represent the sort theory, and a new sorted unification algorithm is presented. This work shows that further development in set constraints may be us... |

7 | Set constraints in program analysis
- Heintze
- 1993
(Show Context)
Citation Context ...vide a compact implicit representation of information. This representation 13 supports computation over partial information that is particularly well suited to efficient program analysis. We refer to =-=[15]-=- for a deeper discussion of this issue. 3.6 Extensions So far we have focussed on the use of set constraints to obtain an approximation of the possible run-time values of variables in a program. Howev... |

2 |
Practical Aspects of Set-Based Analysis
- Heintze
- 1992
(Show Context)
Citation Context ...nts is still in its infancy. With this in mind, we now briefly describe results from implementations of set-based analysis for two different languages. The first deals with analysis of logic programs =-=[11]-=-, and computes type, mode and sharing information. This analysis has a worst case exponential complexity. While substantial progress was made during the development of this implementation, the results... |

1 |
Negative Set Constraints: an Easy Proof of Decidability
- Charatonik, Pacholski
- 1994
(Show Context)
Citation Context ... 1 6` se 2 , remains decidable. Once again, tree automata techniques were used here. An alternative procedure was then given by [4], by reduction to a number-theoretic decision problem. Subsequently, =-=[6]-=- used the abovementioned translation of set constraints to the monadic class to provide a straightforward procedure for deciding negative set constraints. Note that none of these works on negative con... |

1 | Set-Based Analysis of ML Programs", to appear - Heintze - 1994 |

1 |
Set-Based Analysis of Arithmetic
- Heintze
- 1993
(Show Context)
Citation Context ...s for a program variable x might be given by X = 0 [ (X + 1) that is, the set of computations f0; 0 + 1; (0 + 1) + 1; : : :g. Clearly, the actual values of x are included in the set f0; 1; 2; : : :g. =-=[14]-=- describes how this approach can be applied to the problem of removing array bounds checks, and this requires that the analysis also reason about arithmetic tests. An example of the kinds of descripti... |

1 |
personal communication
- Pacholski
- 1994
(Show Context)
Citation Context ...lem is largely determined by the reduction to the monadic class of formulas. The main question remains how to deal with (unrestricted) projection. At the time of writing, we have verbal communication =-=[26]-=- indicating that the proof in [6] can be extended to solve this problem. Thus the question of whether the general set constraint problem is open, now becomes open! 2.3 Applications Early works Two imp... |