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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 31, 2016
Accession Number
AD1028281

Entities

People

  • Evan Driscoll
  • Tom Johnson

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Compilers
  • Computations
  • Computer Programming
  • Computer Programs
  • Computers
  • Contracts
  • Efficiency
  • Energy Efficiency
  • Engineering
  • Engineers
  • Infrastructure
  • Instructions
  • Machine Languages
  • Prototypes
  • Software Development
  • Standards

Fields of Study

  • Computer science

Readers

  • Computer Programming and Software Development.
  • Computer Science.
  • Distributed Systems and Data Platform Development