Synthesis of Machine Code from Semantics

dc.contributor.authorSrinivasan, Venkatesh
dc.contributor.authorReps, Thomas
dc.date.accessioned2015-02-03T18:12:25Z
dc.date.available2015-02-03T18:12:25Z
dc.date.issued2015-02-03
dc.description.abstractIn this paper, we present a technique to synthesize machine-code instructions from a semantic specification, given as a Quantifier-Free Bit-Vector (QFBV) logic formula. Our technique uses an instantiation of the Counter-Example Guided Inductive Synthesis (CEGIS) framework, in combination with search-space pruning heuristics to synthesize instruction-sequences. To counter the exponential cost inherent in enumerative synthesis, our technique uses a divide-and-conquer strategy to break the input QFBV formula into independent sub-formulas, and synthesize instructions for the sub-formulas. Synthesizers created by our technique could be used to create semantics-based binary rewriting tools such as optimizers, partial evaluators, program obfuscators/de-obfuscators, etc. Our experiments for Intel's IA-32 instruction set show that, in comparison to our baseline algorithm, our search-space pruning heuristics reduce the synthesis time by a factor of 473, and our divide-and-conquer strategy reduces the synthesis time by a further 3 to 5 orders of magnitude.en
dc.identifier.citationTR1814en
dc.identifier.urihttp://digital.library.wisc.edu/1793/70465
dc.subjectabstract semantic-footprinten
dc.subjectdivide-and-conqueren
dc.subjectCEGISen
dc.subjectmachine-code synthesisen
dc.titleSynthesis of Machine Code from Semanticsen
dc.typeTechnical Reporten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR1814.pdf
Size:
942.24 KB
Format:
Adobe Portable Document Format
Description:
tech report

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.03 KB
Format:
Item-specific license agreed upon to submission
Description: