Skip to content
0:00 / 0:00

#programsynthesis#machinecode#mcsynth

Speeding Up Machine-Code Synthesis

SPLASH2016

70 subscribers • 2 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.

Advanced. Deep dive for people who know the field.

121 views9 years ago1 recommendation

Systems programmingComputer scienceCompilers and interpretersAlgorithms

A presentation on improving the performance of machine-code synthesis in McSynth using novel pruning heuristics and search algorithms.

Machine-code synthesis is the problem of searching for an instruction sequence that implements a semantic specification, given as a formula in quantifier-free bit-vector logic (QFBV). Instruction sets like Intel's IA-32 have around 43,000 unique instruction schemas; this huge instruction pool, along with the exponential cost inherent in enumerative synthesis, results in an enormous search space for a machine-code synthesizer: even for relatively small specifications, the synthesizer might take several hours or days to find an implementation. In this paper, we present several improvements to the algorithms used in a state-of-the-art machine-code synthesizer McSynth. In addition to a novel pruning heuristic, our improvements incorporate a number of ideas known from the literature, which we adapt in novel ways for the purpose of speeding up machine-code synthesis. Our experiments for Intel's IA-32 instruction set show that our improvements enable synthesis of code for 12 out of 14 formulas on which McSynth times out, speeding up the synthesis time by at least 1981X, and for the remaining formulas, speeds up synthesis by 3X.

Why it's here

1 person recommends this

What people say. Recommended as a resource on program synthesis and machine-code optimization.

u/mttdin r/ProgrammingLanguages • Recommends

On “Tandoph: A compiler synthesizer for simple languages”

…itbucket.io/papers/program_synthesis_now.pdf - https://www.microsoft.com/en-us/research/publication/program-synthesis/ + Topics in Programming Languages: Program Synthesis (lots of great references!) - https://www.classes.cs.uchicago.edu/archive/2016/spring/32001-1/ + Type-Driven Program Synthesis - Strange Loop 2018; Nadia Polikarpova - link to this video + Program Synthesis: Opportunities for the Next Decade - ICFP 2015 - link to this video * Compilation, Optimization + Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis - 1st Summit on Advances in Programming Languages (SNAPL 2015) - http://drops.dagstuhl.de/opus/volltexte/2015/5016/ + Future Directions f…