Binary Static Previrtualization
Department of Defense
Agency Tracking Number:
Solicitation Topic Code:
Small Business Information
421 SW Sixth, Suite 300, Portland, OR, 97204
Socially and Economically Disadvantaged:
AbstractModular software development helps enable application developers to quickly write sophisticated applications. However, in most instances only a small fraction of the functionality included in a particular software components is needed. Not only is there a performance cost, but the prevalence of security vulnerabilities suggests that even unused functionality in binaries and shared libraries can be dangerous. To address the problem of extraneous functionality, SRI International has developed, static previrtualization, a static analysis and code specialization technique that uses partial evaluation to remove unused functionality. SRI has developed a prototype tool, Occam, that performs static previrtualization on LLVM bytecode. Galois proposes to work with SRI to extend Occam to support static previrtualization of binaries. Galois will develop a binary disassembler capable of generating LLVM bytecode from binary machine code. This will allow Occam and other LLVM-based optimization tools to be applied to existing compiled machine code. This will make it easier for static previrtualization to be adopted in industry, and facilitate applying previrtualization to entire systems.
* information listed above is at the time of submission.