Validating the correctness of binary lifters is pivotal to gain
trust in binary analysis, especially when used in scenarios
where correctness is important. Existing approaches focus
on validating the correctness of lifting instructions or basic
blocks in isolation and do not scale to full programs. In this
work, we show that formal translation validation of single instructions
for a complex ISA like x86-64 is not only practical,
but can be used as a building block for scalable full-program
validation. Our work is the first to do translation validation of
single instructions on an architecture as extensive as x86-64,
uses the most precise formal semantics available, and has
the widest coverage in terms of the number of instructions
tested for correctness. Next, we develop a novel technique
that uses validated instructions to enable program-level validation,
without resorting to performance-heavy semantic
equivalence checking. Specifically, we compose the validated
IR sequences using a tool we develop called Compositional
Lifter to create a reference standard. The semantic equivalence
check between the reference and the lifter output is then
reduced to a graph-isomorphism check through the use of semantic
preserving transformations. The translation validation
of instructions in isolation revealed 29 new bugs in McSema
– a mature open-source lifter from x86-64 to LLVM IR. Towards
the validation of full programs, our approach was able
to prove the translational correctness of 2254/2348 functions
taken from LLVM’s single-source benchmark test-suite.
Fri 19 JunDisplayed time zone: Pacific Time (US & Canada) change
10:40 - 12:00 | Verification IIPLDI Research Papers at PLDI Research Papers live stream Chair(s): Manu Sridharan University of California Riverside | ||
10:40 20mTalk | Scalable Validation of Binary Lifters PLDI Research Papers Sandeep Dasgupta University of Illinois at Urbana-Champaign, USA, Sushant Dinesh University of Illinois at Urbana-Champaign, USA, Deepan Venkatesh University of Illinois at Urbana-Champaign, USA, Vikram S. Adve University of Illinois at Urbana-Champaign, USA, Christopher W. Fletcher University of Illinois at Urbana-Champaign, USA | ||
11:00 20mTalk | Polynomial Invariant Generation for Non-deterministic Recursive Programs PLDI Research Papers Krishnendu Chatterjee IST Austria, Austria, Hongfei Fu Shanghai Jiao Tong University, China, Amir Kafshdar Goharshady IST Austria, Austria, Ehsan Kafshdar Goharshady Ferdowsi University of Mashhad, Iran | ||
11:20 20mTalk | Templates and Recurrences: Better Together PLDI Research Papers Jason Breck University of Wisconsin-Madison, USA, John Cyphert University of Wisconsin-Madison, USA, Zachary Kincaid Princeton University, USA, Thomas Reps University of Wisconsin-Madison, USA | ||
11:40 20mTalk | First-Order Quantified Separators PLDI Research Papers Jason R. Koenig Stanford University, USA, Oded Padon Stanford University, USA, Neil Immerman University of Massachusetts at Amherst, USA, Alex Aiken Stanford University, USA |