Accession Number:

ADA591786

Title:

Lean and Efficient Software: Whole-Program Optimization of Executables

Descriptive Note:

Final rept. 25 Sep 2012-24 Sep 2013

Corporate Author:

GRAMMATECH INC ITHACA NY

Report Date:

2013-09-24

Pagination or Media Count:

22.0

Abstract:

Modern software is typically produced using home-grown or third-party libraries and pre-existing components. Consequently, a finished executable often contains unneeded code, duplicate defensive checks, and extra layers of procedure calls. Such bloat contributes to excess memory footprint, slower performance, and security vulnerabilities by hosting more return-oriented-programming gadgets an attacker can hijack. The Layer Collapsing project is devising and prototyping techniques to substantially improve the performance, size, and robustness of binary executables. We are 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. A tool that successfully implements this goal will dramatically improve the way software is developed and deployed, providing new optimizations available late in the development process or even by the end user.

Subject Categories:

  • Computer Programming and Software

Distribution Statement:

APPROVED FOR PUBLIC RELEASE