Results 1  10
of
49
Polymorphic versus monomorphic flowinsensitive pointsto analysis for C
 IN STATIC ANALYSIS SYMPOSIUM
, 2000
"... We carry out an experimental analysis for two of the design dimensions of flowinsensitive pointsto analysis for C: polymorphic versus monomorphic and equalitybased versus inclusionbased. Holding other analysis parameters fixed, we measure the precision of the four design points on a suite of be ..."
Abstract

Cited by 68 (3 self)
 Add to MetaCart
We carry out an experimental analysis for two of the design dimensions of flowinsensitive pointsto analysis for C: polymorphic versus monomorphic and equalitybased versus inclusionbased. Holding other analysis parameters fixed, we measure the precision of the four design points on a suite of benchmarks of up to 90,000 abstract syntax tree nodes. Our experiments show that the benefit of polymorphism varies significantly with the underlying monomorphic analysis. For our equalitybased analysis, adding polymorphism greatly increases precision, while for our inclusionbased analysis, adding polymorphism hardly makes any difference. We also gain some insight into the nature of polymorphism in pointsto analysis of C. In particular, we find considerable polymorphism available in function parameters, but little or no polymorphism in function results, and we show how this observation explains our results.
The complexity of set constraints
, 1993
"... Abstract. Set constraints are relations between sets of terms. They have been used extensively in various applications in program analysis and type inference. We present several results on the computational complexity of solving systems of set constraints. The systems we study form a natural complex ..."
Abstract

Cited by 67 (11 self)
 Add to MetaCart
Abstract. Set constraints are relations between sets of terms. They have been used extensively in various applications in program analysis and type inference. We present several results on the computational complexity of solving systems of set constraints. The systems we study form a natural complexity hierarchy depending on the form of the constraint language. 1
On the Complexity Analysis of Static Analyses
 Journal of the ACM
, 1999
"... . This paper argues that for many algorithms, and static analysis ..."
Abstract

Cited by 66 (3 self)
 Add to MetaCart
. This paper argues that for many algorithms, and static analysis
Disunification: a Survey
 Computational Logic: Essays in Honor of Alan
, 1991
"... Solving an equation in an algebra of terms is known as unification. Solving more complex formulas combining equations and involving in particular negation is called disunification. With such a broad definition, many works fall into the scope of disunification. The goal of this paper is to survey the ..."
Abstract

Cited by 57 (9 self)
 Add to MetaCart
Solving an equation in an algebra of terms is known as unification. Solving more complex formulas combining equations and involving in particular negation is called disunification. With such a broad definition, many works fall into the scope of disunification. The goal of this paper is to survey these works and bring them together in a same framework. R'esum'e On appelle habituellement (algorithme d') unification un algorithme de r'esolution d'une 'equation dans une alg`ebre de termes. La r'esolution de formules plus complexes, comportant en particulier des n'egations, est appel'ee ici disunification. Avec une d'efinition aussi 'etendue, de nombreux travaux peuvent etre consid'er'es comme portant sur la disunification. L'objet de cet article de synth`ese est de rassembler tous ces travaux dans un meme formalisme. Laboratoire de Recherche en Informatique, Bat. 490, Universit'e de ParisSud, 91405 ORSAY cedex, France. Email: comon@lri.lri.fr i Contents 1 Syntax 5 1.1 Basic Defini...
Decidability of Systems of Set Constraints with Negative Constraints
 INFORMATION AND COMPUTATION
, 1994
"... Set constraints are relations between sets of terms. They have been used extensively in various applications in program analysis and type inference. Recently, several algorithms for solving general systems of positive set constraints have appeared. In this paper we consider systems of mixed posi ..."
Abstract

Cited by 54 (10 self)
 Add to MetaCart
Set constraints are relations between sets of terms. They have been used extensively in various applications in program analysis and type inference. Recently, several algorithms for solving general systems of positive set constraints have appeared. In this paper we consider systems of mixed positive and negative constraints, which are considerably more expressive than positive constraints alone. We show that it is decidable whether a given such system has a solution. The proof involves a reduction to a numbertheoretic decision problem that may be of independent interest.
Conjunto: Constraint Logic Programming with Finite Set Domains
 Logic Programming  Proceedings of the 1994 International Symposium, pages 339358, Massachusetts Institute of Technology
, 1994
"... Combinatorial problems involving sets and relations are currently tackled by integer programming and expressed with vectors or matrices of 01 variables. This is efficient but not flexible and unnatural in problem formulation. Toward a natural programming of combinatorial problems based on sets, gra ..."
Abstract

Cited by 47 (1 self)
 Add to MetaCart
Combinatorial problems involving sets and relations are currently tackled by integer programming and expressed with vectors or matrices of 01 variables. This is efficient but not flexible and unnatural in problem formulation. Toward a natural programming of combinatorial problems based on sets, graphs or relations, we define a new CLP language with set constraints. This language Conjunto 1 aims at combining the declarative aspect of Prolog with the efficiency of constraint solving techniques. We propose to constrain a set variable to range over finite set domains specified by lower and upper bounds for set inclusion. Conjunto is based on the inclusion and disjointness constraints applied to set expressions which comprise the union, intersection and difference symbols. The main contribution herein is the constraint handler which performs constraint propagation by applying consistency techniques over set constraints. 1 Introduction Various systems of set constraints have been define...
Directional Type Checking of Logic Programs
 In Proceedings of the 1st International Static Analysis Symposium
, 1994
"... We present an algorithm for automatic type checking of logic programs with respect to directional types that describe both the structure of terms and the directionality of predicates. The type checking problem is reduced to a decidable problem on systems of inclusion constraints over set expressio ..."
Abstract

Cited by 42 (1 self)
 Add to MetaCart
We present an algorithm for automatic type checking of logic programs with respect to directional types that describe both the structure of terms and the directionality of predicates. The type checking problem is reduced to a decidable problem on systems of inclusion constraints over set expressions. We discuss some properties of the reduction algorithm, complexity, and present a proof of correctness. 1 1 Introduction Most logic programming languages are untyped. In Prolog, for example, it is considered meaningful to apply any nary predicate to any ntuple of terms. However, it is generally accepted that static type checking has great advantages in detecting programming errors early and for generating efficient executable code. Motivated at least in part by the success of type systems for procedural and functional languages, there is currently considerable interest in finding appropriate definitions of type and welltyping for logic languages. This paper explores the type checki...
Negative Set Constraints With Equality
 In Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. So far two proofs of decidability of mixed set constraints have been given: by R. Gilleron, S. Tison and M. Tommasi [12] and A. Aiken, D. Kozen, and E. ..."
Abstract

Cited by 35 (10 self)
 Add to MetaCart
Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. So far two proofs of decidability of mixed set constraints have been given: by R. Gilleron, S. Tison and M. Tommasi [12] and A. Aiken, D. Kozen, and E.L. Wimmers [3]. However, both these proofs are long, involved and do not seem to extend to more general set constraints. Our approach is based on a reduction of set constraints to the monadic class given in a recent paper by L. Bachmair, H. Ganzinger, and U. Waldmann [7]. We first give a new proof of decidability of systems of mixed positive and negative set constraints. We explicitely describe a very simple algorithm working in NEXPTIME and we give in all detail a relatively easy proof of its correctness. Then, we sketch how our technique can be applied to get various extensions of this result. In particular we prove that the problem of consistency of mixed set constraints with restricted p...
Solving Systems of Set Constraints (Extended Abstract)
 In Seventh Annual IEEE Symposium on Logic in Computer Science
, 1992
"... ) Alexander Aiken Edward L. Wimmers IBM Almaden Research Center 650 Harry Rd. San Jose, CA 95120 phone: 408/9271876 or 9271882 email: lastname@almaden.ibm.com fax: 408/9272100 Abstract Systems of set constraints are a natural formalism for many problems in program analysis. Set constraints ar ..."
Abstract

Cited by 31 (0 self)
 Add to MetaCart
) Alexander Aiken Edward L. Wimmers IBM Almaden Research Center 650 Harry Rd. San Jose, CA 95120 phone: 408/9271876 or 9271882 email: lastname@almaden.ibm.com fax: 408/9272100 Abstract Systems of set constraints are a natural formalism for many problems in program analysis. Set constraints are also a generalization of tree automata. We present an algorithm for solving systems of set constraints built from free variables, constructors, and the set operations of intersection, union, and complement. Furthermore, we show that all solutions of such systems can be finitely represented. 1 1 Introduction Set constraints are a natural formalism for describing relationships between sets of terms of a free algebra. A set constraint has the form X ` Y , where X and Y are set expressions. Examples of set expressions are 0 (the empty set), 1 (the set of all terms), ff (a setvalued variable), c(X; Y ) (a constructor application) , and the union, intersection, or complement of set expressi...
Set constraints with projections are in NEXPTIME
, 1994
"... Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. In this paper we prove that the problem of existence of a solution of a system of set constraints with projections is in NEXPTIME, and thus that it is ..."
Abstract

Cited by 31 (10 self)
 Add to MetaCart
Systems of set constraints describe relations between sets of ground terms. They have been successfully used in program analysis and type inference. In this paper we prove that the problem of existence of a solution of a system of set constraints with projections is in NEXPTIME, and thus that it is NEXPTIMEcomplete. This extends the result of A. Aiken, D. Kozen, and E.L. Wimmers [3] and R. Gilleron, S. Tison, and M. Tommasi [10] on decidability of negated set constraints and solves a problem that was open for several years. 1 Introduction Set constraints have a form of inclusions between set expressions built over a set of setvalued variables, constants and function symbols. They have been used in program analysis and type inference algorithms for functional, imperative and logic programming languages [4], [5], [12], [13], [15], [16], [18]. Solving a system of set constraints is the main part of these algorithms, however until now the satisfiability problem for such constraints was...