Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Proceedings of the Second European Symposium on Programming
Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The type and effect discipline
Information and Computation
A unified treatment of flow analysis in higher-order languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Closure analysis in constraint form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Safety analysis versus type inference
Information and Computation
A type system equivalent to flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
What are principal typings and what are they good for?
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Infinitary control flow analysis: a collecting semantics for closure analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Flow Analysis of Lambda Expressions (Preliminary Version)
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Polymorphic Subtyping for Effect Analysis: The Algorithm
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
Effective Flow Analysis for Avoiding Run-Time Checks
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Control-Flow Analysis and Type Systems
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Strongly typed flow-directed representation transformations (extended abstract)
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Data flow analysis is model checking of abstract interpretations
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From polyvariant flow information to intersection and union types
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Inference of polymorphic and conditional strictness properties
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principality and decidable type inference for finite-rank intersection types
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Functioning without closure: type-safe customized function representations for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
A Calculus for Link-Time Compilation
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Polyvariant Flow Analysis with Constrained Types
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Faithful Translations between Polyvariant Flows and Polymorphic Types
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Design and Correctness of Program Transformations Based on Control-Flow Analysis
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
The Essence of Principal Typings
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Program Representation Size in an Intermediate Language with Intersection and Union Types
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
The essence of computation
Modular control-flow analysis with rank 2 intersection types
Mathematical Structures in Computer Science
Mathematical Structures in Computer Science
A conjunctive type system for useless-code elimination
Mathematical Structures in Computer Science
A calculus with polymorphic and polyvariant flow types
Journal of Functional Programming
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
Principality and type inference for intersection types using expansion variables
Theoretical Computer Science
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Types, potency, and idempotency: why nonlinearity and amnesia make a type system work
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Relating complexity and precision in control flow analysis
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A type system equivalent to a model checker
ACM Transactions on Programming Languages and Systems (TOPLAS)
Electronic Notes in Theoretical Computer Science (ENTCS)
Types from control flow analysis
Program analysis and compilation, theory and practice
On the rôle of minimal typing derivations in type-driven program transformation
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Higher-order symbolic execution via contracts
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
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 control-flow information.Modularity manifests itself in a syntax-directed, annotated-type 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.