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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 19, 2015
Accession Number
ADA619639

Entities

People

  • Thomas M Johnson

Organizations

  • GrammaTech

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Programs
  • Computers
  • Contractors
  • Contracts
  • Efficiency
  • Energy Efficiency
  • Infrastructure
  • Instructions
  • Machine Languages
  • Optimization
  • Prototypes
  • Reliability
  • Security
  • Software Development
  • Specialization
  • Test And Evaluation

Fields of Study

  • Computer science

Readers

  • Aerial Delivery - Logistics and Supply Chain Management.
  • Clinical Trial Research.
  • Systems Analysis and Design