You are here
Binary Static Previrtualization
Title: Principal Investigator
Phone: (503) 808-7213
Email: jhendrix@galois.com
Title: Contracts
Phone: (503) 808-7209
Email: jodee@galois.com
Modular 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. *