Program transformations in a denotational setting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
A syntactic approach to fixed point computation on finite domains
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
A uniform treatment of order of evaluation and aggregate update
Theoretical Computer Science
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Set based program analysis
Object-oriented type systems
Parallel destructive updating in strict functional languages
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Safety analysis versus type inference
Information and Computation
Data flow analysis is model checking of abstract interpretations
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantic model of reference counting and its abstraction (detailed summary)
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Flow Analysis of Lambda Expressions (Preliminary Version)
Proceedings of the 8th Colloquium on Automata, Languages and Programming
The Complexity of Set Constraints
CSL '93 Selected Papers from the 7th Workshop on Computer Science Logic
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
Simple relational correctness proofs for static analyses and program transformations
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Small bisimulations for reasoning about higher-order imperative programs
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Higher-Order Aggregate Update Problem
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
The essence of compiling with traces
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Staged static techniques to efficiently implement array copy semantics in a MATLAB JIT compiler
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Hi-index | 0.00 |
Destructive array update optimization is critical for writing scientific codes in functional languages. We present set constraints for an interprocedural update optimization that runs in polynomial time. This is a multi-pass optimization, involving interprocedural flow analyses for aliasing and liveness. We characterize and prove the soundness of these analyses using small-step operational semantics. We also prove that any sound liveness analysis induces a correct program transformation.