Optimal code motion: theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
Improvement theory and its applications
Higher order operational techniques in semantics
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
ACM Transactions on Information and System Security (TISSEC)
Optimizing compilers for modern architectures: a dependence-based approach
Optimizing compilers for modern architectures: a dependence-based approach
Systematic design of program transformation frameworks by abstract interpretation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Possibilities and limitations of call-by-need space improvement
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
A Monadic Calculus for Parallel Costing of a Functional Language of Arrays
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Predicting the impact of optimizations for embedded systems
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Simple relational correctness proofs for static analyses and program transformations
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler verification: a bibliography
ACM SIGSOFT Software Engineering Notes
Formal Verification of Dead Code Elimination in Isabelle/HOL
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Monad-independent Hoare logic in HasCasl
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Certified memory usage analysis
FM'05 Proceedings of the 2005 international conference on Formal Methods
Mobile resource guarantees for smart devices
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
TVOC: a translation validator for optimizing compilers
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Theoretical Computer Science
Proof optimization for partial redundancy elimination
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Formal program optimization in nuprl using computational equivalence and partial types
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
We introduce the idea of optimisation validation, which is to formally establish that an instance of an optimising transformation indeed improves with respect to some resource measure. This is related to, but in contrast with, translation validation, which aims to establish that a particular instance of a transformation undertaken by an optimising compiler is semantics preserving. Our main setting is a program logic for a subset of Java bytecode, which is sound and complete for a resource-annotated operational semantics. The latter employs resource algebras for measuring dynamic costs such as time, space and more elaborate examples. We describe examples of optimisation validation that we have formally verified in Isabelle/HOL using the logic. We also introduce a type and effect system for measuring static costs such as code size, which is proved consistent with the operational semantics.