Many polyvariant program analyses have been studied in the 1990s, including k-CFA, polymorphic splitting, and the cartesian product algorithm. The idea of polyvariance is to analyze functions more than once and thereby obtain better precision for each call site. In this paper we present an equivalence theorem which relates a co-inductivelydefined family of polyvariant flow analyses and a standard type system. The proof embodies a way of understanding polyvariant flow information in terms of union and intersection types, and, conversely, a way of understanding union and intersection types in terms of polyvariant flow information. We use the theorem as basis for a new flow-type system in the spirit of the λ CIL-calculus of Wells, Dimock, Mull...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
Polymorphic type systems such as System F enjoy the parametricity property: polymorphic functions ca...
Type information has many applications; it can e.g. be used in optimized compilation, termination a...
Recent work has shown equivalences between various type systems and flow logics. Ideally, the transl...
We present λ CIL, a typed λ-calculus which serves as the foundation for a typed intermediate languag...
. This paper describes a general purpose program analysis that computes global control-flow and data...
Optimizing compilers for function-oriented and object-oriented languages exploit type and flow infor...
We show that a wide class of bidirectional data-flow analyses and program optimizations based on the...
Abstract: "Type systems based on intersection types have been studied extensively in recent years, b...
Data Types, though, as Reynolds stresses, is not perfectly suited for higher type or higher order sy...
Abstract. We present a monovariant flow analysis for System F (with recursion). The flow analysis yi...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
Abstract. Type information has many applications, it can be used for optimized compilation, terminat...
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion...
AbstractIn this paper, we first introduce a notion of polymorphic abstract interpretation that forma...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
Polymorphic type systems such as System F enjoy the parametricity property: polymorphic functions ca...
Type information has many applications; it can e.g. be used in optimized compilation, termination a...
Recent work has shown equivalences between various type systems and flow logics. Ideally, the transl...
We present λ CIL, a typed λ-calculus which serves as the foundation for a typed intermediate languag...
. This paper describes a general purpose program analysis that computes global control-flow and data...
Optimizing compilers for function-oriented and object-oriented languages exploit type and flow infor...
We show that a wide class of bidirectional data-flow analyses and program optimizations based on the...
Abstract: "Type systems based on intersection types have been studied extensively in recent years, b...
Data Types, though, as Reynolds stresses, is not perfectly suited for higher type or higher order sy...
Abstract. We present a monovariant flow analysis for System F (with recursion). The flow analysis yi...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
Abstract. Type information has many applications, it can be used for optimized compilation, terminat...
Inferring types for polymorphic recursive function definitions (abbreviated to polymorphic recursion...
AbstractIn this paper, we first introduce a notion of polymorphic abstract interpretation that forma...
Abstract. Type information has many applications; it can e.g. be used in optimized compilation, term...
Polymorphic type systems such as System F enjoy the parametricity property: polymorphic functions ca...
Type information has many applications; it can e.g. be used in optimized compilation, termination a...