Type- and Control-Flow Analysis
-
pldg_talk.pdf
(Presented at Cornell University — Programming Language Discussion Group (20130220))
-
ifl12.pdf techrpt.pdf
(Accepted to IFL'12 (post-proceedings))
-
ifl12.orig.pdf techrpt.orig.pdf
(Presented at IFL'12; ifl12_talk.orig.pdf; video)
We present a monovariant flow analysis for System F (with recursion).
The flow analysis yields both control-flow information,
approximating the λ- and Λ-expressions that may be bound
to variables, and type-flow information, approximating the
type expressions that may instantiate type variables. Moreover, the
two flows are mutually beneficial: the control flow determines which
Λ-expressions may be applied to which type expressions (and,
hence, which type expressions may instantiate which type variables),
while the type flow filters the λ- and Λ-expressions
that may be bound to variables (by rejecting expressions with static
types that are incompatible with the static type of the variable under
the type flow). As is typical for a monovariant control-flow
analysis, control-flow information is expressed as an abstract
environment mapping variables to sets of (syntactic) λ- and
Λ-expressions that occur in the program under analysis.
Similarly, type-flow information is expressed as an abstract
environment mapping type variables to sets of (syntactic) types that
occur in the program under analysis. Compatibility of static types
(with free type variables) under a type flow is decided by
interpreting the abstract environment as productions for a
regular-tree grammar and querying if the languages generated
by taking the types in question as starting terms have a non-empty
intersection.
|
The documents contained in these directories are included by the
contributing authors as a means to ensure timely dissemination of
scholarly and technical work on a non-commercial basis. Copyright and
all rights therein are maintained by the authors or by other copyright
holders, notwithstanding that they have offered their works here
electronically. It is understood that all persons copying this
information will adhere to the terms and constraints invoked by each
author's copyright. These works may not be reposted without the
explicit permission of the copyright holder.
|
|