当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches
arXiv - CS - Programming Languages Pub Date : 2021-08-31 , DOI: arxiv-2108.13783
Masaomi Yamaguchi, Kazutaka Matsuda, Cristina David, Meng Wang

We propose a technique for synthesizing bidirectional programs from the corresponding unidirectional code plus a few input/output examples. The core ideas are: (1) constructing a sketch using the given unidirectional program as a specification, and (2) filling the sketch in a modular fashion by exploiting the properties of bidirectional programs. These ideas are enabled by our choice of programming language, HOBiT, which is specifically designed to maintain the unidirectional program structure in bidirectional programming, and keep the parts that control bidirectional behavior modular. To evaluate our approach, we implemented it in a tool called Synbit and used it to generate bidirectional programs for intricate microbenchmarks, as well as for a few larger, more realistic problems. We also compared Synbit to a state-of-the-art unidirectional synthesis tool on the task of synthesizing backward computations.

中文翻译:

Synbit:使用单向草图合成双向程序

我们提出了一种从相应的单向代码和一些输入/输出示例合成双向程序的技术。核心思想是:(1)使用给定的单向程序作为规范构建草图,以及(2)通过利用双向程序的特性以模块化方式填充草图。这些想法是通过我们选择的编程语言 HOBiT 实现的,HOBiT 专门设计用于在双向编程中维护单向程序结构,并使控制双向行为的部分保持模块化。为了评估我们的方法,我们在一个名为 Synbit 的工具中实现了它,并使用它为复杂的微基准以及一些更大、更现实的问题生成双向程序。
更新日期:2021-09-01
down
wechat
bug