Shellac: A Compiler Synthesizer for Concurrent Programs

VSTTE(2023)

引用 0|浏览13
暂无评分
摘要
Formal specification languages such as TLA+ and unity are used to design and verify concurrent programs. These languages are intended for analysis rather than for execution. A compiler or a human must implement the specified program in a lower-level executable language. We present Shellac, a compiler synthesizer that completes a sketch of a syntax-directed compiler by using program synthesis to derive translation rules. This approach produces a correct-by-construction compiler without burdening the compiler writer with manual specification and verification. We evaluate Shellac by synthesizing a compiler from unity to Arduino C++ and Verilog, then compiling Paxos consensus in unity to implementations in Arduino C++ for microcontrollers and Verilog for reconfigurable hardware.
更多
查看译文
关键词
Automatic programming,Compilation,Concurrency,Formal models,Program synthesis
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要