Results 1 
5 of
5
Infinitary Control Flow Analysis: a Collecting Semantics for Closure Analysis
, 1997
"... Defining the collecting semantics is usually the first crucial step in adapting the general methodology of abstract interpretation to the semantic framework or programming language at hand. In this paper we show how to define a collecting semantics for control flow analysis; due to the generality of ..."
Abstract

Cited by 70 (9 self)
 Add to MetaCart
(Show Context)
Defining the collecting semantics is usually the first crucial step in adapting the general methodology of abstract interpretation to the semantic framework or programming language at hand. In this paper we show how to define a collecting semantics for control flow analysis; due to the generality of the formulation we need to appeal to coinduction (or greatest fixed points) in order to define the analysis. We then prove the semantic soundness of the collecting semantics and that all totally deterministic instantiations have a least solution; this incorporates kCFA, polymorphic splitting and a new class of uniformkCFA analyses. 1 Introduction Control flow analysis [16, 17] is known by many names: closure analysis [13, 15], setbased analysis [9] (touching upon other constraintbased analyses [1]), and flow analysis [6]. Although the fine formulational details differ they are all variations over a theme, producing analyses of di#erent precision: 0CFA [16], kCFA [16, 10], polykCF...
A modular, polyvariant, and typebased closure analysis
 In ICFP ’97 [ICFP97
"... We observe that the principal typing property of a type system is the enabling technology for modularity and separate compilation [10]. We use this technology to formulate a modular and polyvariant closure analysis, based on the rank 2 intersection types annotated with controlflow information. Modu ..."
Abstract

Cited by 57 (1 self)
 Add to MetaCart
(Show Context)
We observe that the principal typing property of a type system is the enabling technology for modularity and separate compilation [10]. We use this technology to formulate a modular and polyvariant closure analysis, based on the rank 2 intersection types annotated with controlflow information. Modularity manifests itself in a syntaxdirected, annotatedtype inference algorithm that can analyse program fragments containing free variables: a principal typing property is used to formalise it. Polyvariance manifests itself in the separation of different behaviours of the same function at its different uses: this is formalised via the rank 2 intersection types. As the rank 2 intersection type discipline types at least all (core) ML programs, our analysis can be used in the separate compilation of such programs. 1
Simple Usage Polymorphism
 TIC 2000
, 2000
"... We present a novel inference algorithm for a type system featuring subtyping and usage (annotation) polymorphism. This algorithm infers simplypolymorphic types rather than the constrainedpolymorphic types usual in such a setting; it achieves this by means of constraint approximation. The algorithm ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We present a novel inference algorithm for a type system featuring subtyping and usage (annotation) polymorphism. This algorithm infers simplypolymorphic types rather than the constrainedpolymorphic types usual in such a setting; it achieves this by means of constraint approximation. The algorithm is motivated by practical considerations and experience of a previous system, and has been implemented in a production compiler with positive results. We believe the algorithm may well have applications in settings other than usagetype inference.
A Modular, Extensible Proof Method for Smallstep Flow Analyses
 PROGRAMMING LANGUAGES AND SYSTEMS, 11TH EUROPEAN SYMPOSIUM ON PROGRAMMING, ESOP 2002
, 2002
"... We introduce a new proof technique for showing the correctness of 0CFAlike analyses with respect to smallstep semantics. We illustrate the technique by proving the correctness of 0CFA for the pure lambdacalculus under arbitrary betareduction. This result was claimed by Palsberg in 1995; unfortun ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
We introduce a new proof technique for showing the correctness of 0CFAlike analyses with respect to smallstep semantics. We illustrate the technique by proving the correctness of 0CFA for the pure lambdacalculus under arbitrary betareduction. This result was claimed by Palsberg in 1995; unfortunately, his proof was awed. We provide a correct proof of this result, using a simpler and more general proof method. We illustrate the extensibility of the new method by showing the correctness of an analysis for the AbadiCardelli object calculus under smallstep semantics.
Flow Analysis: Games and Nets
"... This paper presents a graphbased formulation of controlflow analysis using results from game semantics and proofnets. Controlflow analysis aims to give a conservative prediction of the flow of control in a program. In our analysis, terms are represented by proofnets and controlflow analysis am ..."
Abstract
 Add to MetaCart
(Show Context)
This paper presents a graphbased formulation of controlflow analysis using results from game semantics and proofnets. Controlflow analysis aims to give a conservative prediction of the flow of control in a program. In our analysis, terms are represented by proofnets and controlflow analysis amounts to the analysis of computation paths in the proofnet. We focus on a context free analysis known in the literature as 0CFA, and develop an algorithm for the analysis. The algorithm for 0CFA performs dynamic transitive closure of a graph that is based on the judgement associated with the proofnet. Correctness of the algorithm relies on the correspondence between proofnets and certain kinds of strategies in game semantics.