Lean and Efficient Software: Whole Program Optimization of Executables
Abstract
Complex software is usually assembled from a number of third-party or in-house components and libraries. This development style makes writing software more tractable than starting from scratch, but this process has drawbacks. Very often the components are included in whole, but only used in part (increasing attack surfaces and bloat), or may include redundant error checks and other tests (increasing overhead). LACI (Layer Collapsing Infrastructure) uses binary-to-binary transformations to optimize compiled program executables to improve security and runtime performance, as well as reduce executable size. LACI allows its users to optimize, harden, and specialize existing binaries.
Document Details
- Document Type
- Technical Report
- Publication Date
- Dec 31, 2016
- Accession Number
- AD1028281
Entities
People
- Evan Driscoll
- Tom Johnson