Lean and Efficient Software: Whole-Program Optimization of Executables
Abstract
Our objective in this project is to substantially improve the performance, size, and robustness of binary executables by using static and dynamic binary program analysis techniques to perform whole-program optimization directly on compiled programs: specializing library subroutines, removing redundant argument checking and interface layers, eliminating dead code, and improving computational efficiency. In particular, we will apply specialization and partial evaluation technology, integrating the new technology with the techniques developed during the previous contract effort. We expect the optimizations to be applied at or immediately prior to deployment of software, giving our tool an opportunity to tailor the optimized software to its target platform. Today, machine-code analysis and binary-rewriting techniques have reached a sufficient maturity level to make whole-program, machine-code optimization feasible. Thus, we believe there is now a great opportunity to design tools that will revolutionize the software development industry. This report covers the second quarter of the base contract period. During this quarter, we focused our efforts on completing the switch to the sieve-style rewriting that GrammaTech's ADAPT project has developed. We re happy to report that by the end of the quarter, LACI is now able to successfully rewrite statically linked executables with the new method. In addition, we invested some effort in refining how jump tables are handled in CodeSurfer's IR recovery phase. Accurately modeling jump tables in the IR will enable LACI's transforms to make more aggressive modifications and will also make LACI's rewriting process more robust. We continue to track the progress that University of Wisconsin (UW) is making on partial evaluation and instruction synthesis. Our expectation is that it will be mature enough in the next quarter to begin transitioning to GrammaTech in order to leverage in LACI.
Document Details
- Document Type
- Technical Report
- Publication Date
- Feb 19, 2015
- Accession Number
- ADA619639
Entities
People
- Thomas M Johnson
Organizations
- GrammaTech