Publication: Improving Assembly Synthesis via Interaction and Parallelism
Open/View Files
Date
Authors
Published Version
Published Version
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
Porting software systems and writing assembly programs are tedious and expensive. This dissertation shows that assembly language synthesis is feasible and useful for porting operating systems and solving various assembly programming problems. It describes the implementation of a new assembly synthesis toolchain that synthesizes the machine-dependent portions of an operating system and goes on to show that using interactivity and parallelism improves scalability for assembly synthesis. The assembly synthesis toolchain shows that it is feasible to synthesize machine-dependent operating system code, demonstrating programs from multiple operating systems and processor architectures. Incorporating user interactions, Assuage, is an interactive approach that allows the user and the synthesizer to work collaboratively to solve general assembly synthesis problems, enabling synthesis to scale beyond current limits. By dividing the synthesis search space into multiple smaller search spaces, the parallel assembly synthesis system, PASSED, applies multiple heuristics to divide and parallelize various general assembly synthesis problems, achieving significant performance improvement over traditional synthesis techniques.