Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Abstract programming and program transformation—an approach to reusing programs
Software reusability: vol. 1, concepts and models
An Incremental Version of Iterative Data Flow Analysis
IEEE Transactions on Software Engineering
Pointer-induced aliasing: a problem classification
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Sharlit—a tool for building optimizers
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
A unifying framework for optimizing transformations
A unifying framework for optimizing transformations
Generating data flow analysis algorithms from modal specifications
TACS'91 Selected papers of the conference on Theoretical aspects of computer software
Practical program analysis using general purpose logic programming systems—a case study
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
An approach for exploring code improving transformations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Advanced compiler design and implementation
Advanced compiler design and implementation
Building program optimizers with rewriting strategies
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
OPTIMIX—a tool for rewriting and optimizing programs
Handbook of graph grammars and computing by graph transformation
Composing dataflow analyses and transformations
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
VISTA: a system for interactive code improvement
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
Modern Compiler Implementation: In ML
Modern Compiler Implementation: In ML
Symbolic Model Checking
A Functional Language for the Specification of Complex Tree Transformations
ESOP '88 Proceedings of the 2nd European Symposium on Programming
Data Flow Analysis as Model Checking
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
DFA&OPT-METAFrame: A Tool Kit for Program Analysis and Optimazation
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
CONCUR '95 Proceedings of the 6th International Conference on Concurrency Theory
Proceedings of the 2nd CCHSC Workshop on Compiler Compilers and High Speed Compilation
How to Uniformly Specify Program Analysis and Transformation with Graph Rewrite Systems
CC '96 Proceedings of the 6th International Conference on Compiler Construction
A Linear-Time Model-Checking Algorithm for the Alternation-Free Modal Mu-Calculus
CAV '91 Proceedings of the 3rd International Workshop on Computer Aided Verification
Incremental Model Checking in the Modal Mu-Calculus
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Viewing A Program Transformation System At Work
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Automatically proving the correctness of compiler optimizations
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Testing flow graph reducibility
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Compiler Optimization Correctness by Temporal Logic
Higher-Order and Symbolic Computation
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Automated soundness proofs for dataflow analyses and transformations via local rules
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A PVS Based Framework for Validating Compiler Optimizations
SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
KHEPERA: a system for rapid implementation of domain specific languages
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
IEEE Transactions on Computers
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
A formal approach to fixing bugs
SBMF'11 Proceedings of the 14th Brazilian conference on Formal Methods: foundations and Applications
A framework for formal verification of compiler optimizations
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Hi-index | 0.00 |
This article describes an approach to program optimization based on transformations, where temporal logic is used to specify side conditions, and strategies are created which expand the repertoire of transformations and provide a suitable level of abstraction. We demonstrate the power of this approach by developing a set of optimizations using our transformation language and showing how the transformations can be converted into a form which makes it easier to apply them, while maintaining trust in the resulting optimizing steps. The approach is illustrated through a transformational case study where we apply several optimizations to a small program.