Abstract | ||
---|---|---|
Code translation is a staple component of program analysis. A lifter is a code translation unit that translates low-level code to a higher-level intermediate representation (IR). Lifters thus enable a host of static and dynamic analyses for such low-level code. However, writing a lifter is a tedious manual process which must be repeated for every architecture an analysis aims to support. We introduce cross-architecture lifter synthesis, a novel approach that automatically synthesizes lifters for previously unsupported architectures. Our insight is that lifter synthesis can be bootstrapped with existing IR sketches that exploit the shared semantic properties of heterogeneous architecture instruction sets. We show that our approach automates a significant amount of translation effort for a previously unsupported instruction set, and that it enables discovery of new bugs on new architecture targets through reuse of an existing IR-based analysis. |
Year | DOI | Venue |
---|---|---|
2018 | 10.1007/978-3-319-92970-5_10 | Lecture Notes in Computer Science |
DocType | Volume | ISSN |
Conference | 10886 | 0302-9743 |
Citations | PageRank | References |
0 | 0.34 | 0 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Rijnard van Tonder | 1 | 23 | 4.09 |
Claire Le Goues | 2 | 1766 | 68.79 |