Binary Level Software Analysis

 

Contact: Ammar Ben Khadra

 

Broadly speaking, the general goal of our work is to improve the state of the art in software analysis at binary level (machine code) with a particular focus on security applications. To this end, we are attacking the problem from multiple angles including disassembly (by recovery of assembly and control flow graph from binaries), instruction semantics (automatically synthesize instruction semantics by observing outputs of an oracle, e.g., a CPU simulator), and finally adapting static/dynamic analysis techniques to binary software. Analysis of software at source code level is a well researched problem with many commercially offerings available. In contrast, binary-level analysis is still an area fertile for new ideas. DARPA's recent Cyber Grand Challenge gives a strong evidence about the importance of this research area.