Results 1  10
of
10
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 constraintbased 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 30 (7 self)
 Add to MetaCart
There is a tension in program analysis between precision and efficiency. In constraintbased 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 constraintbased 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...
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 (NEXPTIMEcompleteness of the satisfiability test). Lots of works are involved in finding more tractable subclasses. I ..."
Abstract

Cited by 21 (2 self)
 Add to MetaCart
. 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 (NEXPTIMEcompleteness 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...
Antipattern matching
 In European Symposium on Programming – ESOP 2007, LNCS
, 2007
"... Abstract. It is quite appealing to base the description of patternbased 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 antipatterns and their semantics along w ..."
Abstract

Cited by 18 (6 self)
 Add to MetaCart
Abstract. It is quite appealing to base the description of patternbased 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 antipatterns 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 antipatterns and ground terms. We provide a rulebased algorithm that finds the solutions to such problems and prove its correctness and completeness. Antipattern matching is by nature different from disunification and quite interestingly the antipattern matching problem is unitary. Therefore the concept is appropriate to ground a powerful extension to patternbased programming languages and we show how this is used to extend the expressiveness and usability of the Tom language. 1
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 14 (5 self)
 Add to MetaCart
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 PSPACEComplete
 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 firstorder terms without set operators. It is wellknown that ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
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 firstorder terms without set operators. It is wellknown 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 PSPACEalgorithm for solving atomic set constraints with negation. This proves that entailment of atomic set constraints is PSPACEcomplete for infinite signatures. In case of finite signatures, this problem is even DEXPTIMEhard.
Type Inference for FirstClass Messages with Feature Constraints
 International Journal of Foundations of Computer Science
, 1998
"... We present a constraint system OF of feature trees that is appropriate to specify and implement type inference for firstclass messages. OF extends traditional systems of feature constraints by a selection constraint xhyiz "by firstclass feature tree" y, in contrast to the standard selection con ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We present a constraint system OF of feature trees that is appropriate to specify and implement type inference for firstclass 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 firstclass features, which has an NPcomplete satisfiability problem. This comparison yields that the satisfiability problem for OF with negation is NPhard. Based on OF we give a simple account of type inference for firstclass 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 NPhard.
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 nonempty 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 nonempty sets) for both of which a cubic time satisfiability test is known. Recently, there has been increasing interest in entailment tests for set constraints.
Antipatterns for Rulebased 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 patternbased searches. We would like for example to specify that we search for white ..."
Abstract
 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 patternbased 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 antipattern, i.e. patterns that may contain complement symbols. This concept is appropriate to design powerful extensions to patternbased 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 antipatterns 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 antipatterns 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.
Recueil d’articles
"... Annexes du manuscrit d’HDR — Le calcul de réécritureiiSommaire Présentations du calcul de réécriture 1 Propriétés des calculs à motifs 57 Extensions du calcul de réécriture 75 Expressivité du calcul de réécriture 147 Systèmes de types pour le calcul de réécriture 195 Applications 225Présentations du ..."
Abstract
 Add to MetaCart
Annexes du manuscrit d’HDR — Le calcul de réécritureiiSommaire Présentations du calcul de réécriture 1 Propriétés des calculs à motifs 57 Extensions du calcul de réécriture 75 Expressivité du calcul de réécriture 147 Systèmes de types pour le calcul de réécriture 195 Applications 225Présentations du calcul de réécriture [CK01] [CKL01a]