Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Synthir

Build Status

This tool uses templates, MCMC and a mixed approach to synthetize IR transformations for assembly instructions (currently only supporting x86_64).

Slides from Ekoparty: IR transformation synthesis for assembly instructions

Installation

Runs with Rust >= 1.7 and requires the following libraries:

  • libz-dev
  • libedit-dev
  • libcapstone-dev
  • llvm-3.8-dev (or 3.7)

More information

  • Automated Synthesis of Symbolic Instruction Encodings from I/O Samples: Paper
  • Stochastic Superoptimization: Paper

TODO

  • x86_64 support
  • ARM support (synthir_execute)
  • Mips support (synthir_execute)
  • Finish Floating point support (SMT and emulator)
  • Add back mixed approach
  • Extend available templates
  • Transform our IR to LLVM (synthir_llvm)
  • Clean

About

IR Transformation Synthesis for Assembly Instructions

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.