CLU reference manual
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A fresh look at optimizing array bound checking
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Exploiting specifications to improve program performance
Exploiting specifications to improve program performance
LCLint: a tool for using specifications to check code
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
An axiomatic basis for computer programming
Communications of the ACM
Programming Methodology: A Collection of Articles by Members of IFIP WG 2.3
Programming Methodology: A Collection of Articles by Members of IFIP WG 2.3
Specifications Can Make Programs Run Faster
TAPSOFT '93 Proceedings of the International Joint Conference CAAP/FASE on Theory and Practice of Software Development
A GENERALIZED APPROACH TO EQUATIONAL UNIFICATION
A GENERALIZED APPROACH TO EQUATIONAL UNIFICATION
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
Towards the Generation of Efficient Code from Verified Programs
Towards the Generation of Efficient Code from Verified Programs
Optimization of user-defined abstract data types: a program transformation approach (compiler)
Optimization of user-defined abstract data types: a program transformation approach (compiler)
Programming language requirements for the next millennium
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Interface Compilation: Steps Toward Compiling Program Interfaces as Languages
IEEE Transactions on Software Engineering
ECOOP '00 Proceedings of the Workshops, Panels, and Posters on Object-Oriented Technology
Formal Methods for Extensions to CAS
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
Improving the adaptability of multi-mode systems via program steering
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Incorporating application semantics and control into compilation
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Synthesizing iterators from abstraction functions
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Hi-index | 0.00 |
Managing tradeoffs between program structure and program efficiency is one of the most difficult problems facing software engineers. Decomposing programs into abstractions simplifies the construction and maintenance of software and results in fewer errors. However, the introduction of these abstractions often introduces significant inefficiencies.This paper describes a strategy for eliminating many of these inefficiencies. It is based upon providing alternative implementations of the same abstraction, and using information contained in formal specifications to allow a compiler to choose the appropriate one. The strategy has been implemented in a prototype compiler that incorporates theorem proving technology.