Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
SIGGRAPH '89 Proceedings of the 16th annual conference on Computer graphics and interactive techniques
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic splitting: an effective polyvariant flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A practical and flexible flow analysis for higher-order languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Cache-conscious structure definition
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Control flow analysis: a functional languages compilation paradigm
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Concurrent programming in ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
The Definition of Standard ML
The essence of computation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specialization of CML message-passing primitives
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pick your contexts well: understanding object-sensitivity
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
A structural soundness proof for shivers's escape technique: a case for galois connections
SAS'12 Proceedings of the 19th international conference on Static Analysis
Hi-index | 0.00 |
Higher-order typed languages, such as ML, provide strong support for data and type abstraction. While such abstraction is often viewed as costing performance, there are situations where it may provide opportunities for more aggressive program optimization. Specifically, we can exploit the fact that type abstraction guarantees representation independence, which allows the compiler to specialize data representations. This paper describes a first step in supporting such optimizations; namely a control-flow analysis that uses the program's type information to compute more precise results. We present our algorithm as an extension of Serrano's version of 0-CFA and we show that it respects types. We also discuss applications of the analysis with examples of optimizations enabled by the analysis that would not be possible using normal CFA.