Results 1 - 10
of
14
Program Analysis Using Mixed Term and Set Constraints
- IN PROCEEDINGS OF THE 4TH INTERNATIONAL STATIC ANALYSIS SYMPOSIUM
, 1997
"... There is a tension in program analysis between precision and efficiency. In constraint-based program analysis, at one extreme methods based on unification of equality constraints over terms are very fast but often imprecise. At the other extreme, methods based on the resolution of inclusion cons ..."
Abstract
-
Cited by 33 (10 self)
- Add to MetaCart
(Show Context)
There is a tension in program analysis between precision and efficiency. In constraint-based program analysis, at one extreme methods based on unification of equality constraints over terms are very fast but often imprecise. At the other extreme, methods based on the resolution of inclusion constraints over set expressions are quite precise, but are often inefficient in practice. We describe a parameterized framework for constraint-based program analyses that allows the analysis designer to embed terms and set expressions within each other. Constraints over these mixed expressions are partially between equality and inclusion, which enables an entire spectrum of program analyses with varying degrees of precision and efficiency to be expressed. We also show that there are interesting analyses that take advantage of this mixture. In particular, we report on the design and implementation of an uncaught exception analysis for core ML. Our results show that the analysis approaches...
Anti-pattern matching
- In European Symposium on Programming – ESOP 2007, LNCS
, 2007
"... Abstract. It is quite appealing to base the description of pattern-based searches on positive as well as negative conditions. We would like for example to specify that we search for white cars that are not station wagons. To this end, we define the notion of anti-patterns and their semantics along w ..."
Abstract
-
Cited by 23 (9 self)
- Add to MetaCart
(Show Context)
Abstract. It is quite appealing to base the description of pattern-based searches on positive as well as negative conditions. We would like for example to specify that we search for white cars that are not station wagons. To this end, we define the notion of anti-patterns and their semantics along with some of their properties. We then extend the classical notion of matching between patterns and ground terms to matching between anti-patterns and ground terms. We provide a rule-based algorithm that finds the solutions to such problems and prove its correctness and completeness. Anti-pattern matching is by nature different from disunification and quite interestingly the anti-pattern matching problem is unitary. Therefore the concept is appropriate to ground a powerful extension to pattern-based programming languages and we show how this is used to extend the expressiveness and usability of the Tom language. 1
Solving Classes of Set Constraints with Tree Automata
- Proceedings of the Third International Conference on Principles and Practice of Constraint Programming - CP97, volume 1330 of LNCS
, 1997
"... . Set constraints is a suitable formalism for static analysis of programs. However, it is known that the complexity of set constraint problems in the most general cases is very high (NEXPTIME-completeness of the satisfiability test). Lots of works are involved in finding more tractable subclasses. I ..."
Abstract
-
Cited by 22 (2 self)
- Add to MetaCart
(Show Context)
. Set constraints is a suitable formalism for static analysis of programs. However, it is known that the complexity of set constraint problems in the most general cases is very high (NEXPTIME-completeness of the satisfiability test). Lots of works are involved in finding more tractable subclasses. In this paper, we investigate two classes of set constraints shown to be useful for program analysis: the first one is an extension of definite set constraints including the main feature of quantified set expressions. We will show that the satisfiability problem for this class is EXPTIME- complete. The second one concerns constraints of the form X ` exp, where exp is built with function symbols, the intersection and union connectives and projection operators. The dual aspects of those two classes allows to find a common approach for solving both of them. This approach uses as basic tool tree automata, which are suitable both for computation and representing the solution of those solving prob...
Ordering Constraints over Feature Trees
, 1999
"... Feature trees are the formal basis for algorithms manipulating record like structures in constraint programming, computational linguistics and in concrete applications like software configuration management. Feature trees model records, and constraints over feature trees yield extensible and modular ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
(Show Context)
Feature trees are the formal basis for algorithms manipulating record like structures in constraint programming, computational linguistics and in concrete applications like software configuration management. Feature trees model records, and constraints over feature trees yield extensible and modular record descriptions. We introduce the constraint system FT of ordering constraints interpreted over feature trees. Under the view that feature trees represent symbolic information, the relation corresponds to the information ordering ("carries less information than"). We present two algorithms in cubic time, one for the satisfiability problem and one for the entailment problem of FT . We show that FT has the independence property. We are thus able to handle negative conjuncts via entailment and obtain a cubic algorithm that decides the satisfiability of conjunctions of positive and negated ordering constraints over feature trees. Furthermore, we reduce the satisfiability problem of Dorre's weak subsumption constraints to the satisfiability problem of FT and improve the complexity bound for solving weak subsumption constraints from O(n^5) to O(n³).
Entailment of Atomic Set Constraints is PSPACE-Complete
- In Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science (LICS
, 1999
"... The complexity of set constraints has been extensively studied over the last years and was often found quite high. At the lower end of expressiveness, there are atomic set constraints which are conjunctions of inclusions t 1 t 2 between first-order terms without set operators. It is well-known that ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
(Show Context)
The complexity of set constraints has been extensively studied over the last years and was often found quite high. At the lower end of expressiveness, there are atomic set constraints which are conjunctions of inclusions t 1 t 2 between first-order terms without set operators. It is well-known that satisfiability of atomic set constraints can be tested in cubic time. Also, entailment of atomic set constraints has been claimed decidable in polynomial time. We refute this claim. We show that entailment between atomic set constraints can express validity of quantified boolean formulas and is thus PSPACE hard. For infinite signatures, we also present a PSPACE-algorithm for solving atomic set constraints with negation. This proves that entailment of atomic set constraints is PSPACE-complete for infinite signatures. In case of finite signatures, this problem is even DEXPTIME-hard.
Type inference for first-class messages with feature constraints.
- Programming Systems Lab, Universitat des Saarlandes,
, 1998
"... Abstract. We present a constraint system OF of feature trees that is appropriate to specify and implement type inference for first-class messages. OF extends traditional systems of feature constraints by a selection constraint xhyiz "by firstclass feature tree" y, in contrast to the stand ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
(Show Context)
Abstract. We present a constraint system OF of feature trees that is appropriate to specify and implement type inference for first-class messages. OF extends traditional systems of feature constraints by a selection constraint xhyiz "by firstclass feature tree" y, in contrast to the standard selection constraint x f ]y "by fixed feature" f . We investigate the satisfiability problem of OF and show that it can be solved in polynomial time, and even in quadratic time in an important special case. We compare OF with Treinen' s constraint system EF of feature constraints with first-class features, which has an NP-complete satisfiability problem. This comparison yields that the satisfiability problem for OF with negation is NP-hard. Based on OF we give a simple account of type inference for first-class messages in the spirit of Nishimura's recent proposal, and we show that it has polynomial time complexity: We also highlight an immediate extension that is desirable but makes type inference NP-hard.
Entailment of Set Constraints is not Feasible
- Programming Systems Lab, Universitat des Saarlandes
, 1997
"... Set constraints are inclusions between expressions denoting sets of trees. They have been used extensively for type inference and program analysis. At the lower end of the expressiveness scale there are atomic set constraints and Ines constraints (inclusions over non-empty sets) for both of whic ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Set constraints are inclusions between expressions denoting sets of trees. They have been used extensively for type inference and program analysis. At the lower end of the expressiveness scale there are atomic set constraints and Ines constraints (inclusions over non-empty sets) for both of which a cubic time satisfiability test is known. Recently, there has been increasing interest in entailment tests for set constraints.
Anti-patterns for Rule-based Languages
, 2010
"... Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide pattern-based searches. We would like for example to specify that we search for white ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide pattern-based searches. We would like for example to specify that we search for white cars that are not station wagons, or that we search for a list of objects that does not contain two identical elements. In this paper we extend the notion of pattern to the one of anti-pattern, i.e. patterns that may contain complement symbols. This concept is appropriate to design powerful extensions to pattern-based programming languages like Ml, Asf+Sdf, Stratego, Maude, Elan or Tom and we show how this is used to extend the expressiveness and usability of the Tom language. We further define formally the semantics of anti-patterns both in the syntactic case, i.e. when the symbols have no specific theory associated, and modulo an arbitrary equational theory E. We then extend the classical notion of matching between patterns and ground terms to matching between anti-patterns and ground terms. Solving such problems can be performed either using general techniques as disunification, which we exemplify in the syntactical case, or more tailored and efficient approaches, which we chose to illustrate on the specific and very useful case of associativity, possibly with a unity. This allows us to be generic enough to give in this framework a very simple and natural expression of, for instance, the AllDiff standard predicate of constraint programming.
Narrowing the gap between Set-Constraints and CLP(SET )-Constraints
- In
, 1998
"... We compare two (apparently) rather different set-based constraint languages, and we show that, in spite of their different origins and aims, there are large classes of constraint formulae for which both proposals provide suitable procedures for testing constraint satisfiability with respect to a giv ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
(Show Context)
We compare two (apparently) rather different set-based constraint languages, and we show that, in spite of their different origins and aims, there are large classes of constraint formulae for which both proposals provide suitable procedures for testing constraint satisfiability with respect to a given privileged interpretation. Specifically, we present a technique for reducing any set-constraint to a CLP(SET)-constraint; moreover, we show how the satisfiability check for some classes of set-constraints can be performed by the CLP(SET) constraint solver. Keywords: Set Constraints, Constraint Logic Programming with Sets.