WEKO3
アイテム
SynthBX: An Example-guided Synthesizer for Bidirectional Programs on Relations
https://ipsj.ixsq.nii.ac.jp/records/233824
https://ipsj.ixsq.nii.ac.jp/records/23382479a6563e-c486-448d-8cda-ee4114f95b20
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
2026年4月23日からダウンロード可能です。
|
Copyright (c) 2024 by the Information Processing Society of Japan
|
|
| 非会員:¥0, IPSJ:学会員:¥0, DBS:会員:¥0, IFAT:会員:¥0, DLIB:会員:¥0 | ||
| Item type | Trans(1) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 公開日 | 2024-04-23 | |||||||||||
| タイトル | ||||||||||||
| タイトル | SynthBX: An Example-guided Synthesizer for Bidirectional Programs on Relations | |||||||||||
| タイトル | ||||||||||||
| 言語 | en | |||||||||||
| タイトル | SynthBX: An Example-guided Synthesizer for Bidirectional Programs on Relations | |||||||||||
| 言語 | ||||||||||||
| 言語 | eng | |||||||||||
| キーワード | ||||||||||||
| 主題Scheme | Other | |||||||||||
| 主題 | [研究論文] program synthesis, bidirectional program, well-behavedness | |||||||||||
| 資源タイプ | ||||||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||||||
| 資源タイプ | journal article | |||||||||||
| 著者所属 | ||||||||||||
| The Graduate University for Advanced Studies, SOKENDAI/National Institute of Informatics | ||||||||||||
| 著者所属 | ||||||||||||
| The Graduate University for Advanced Studies, SOKENDAI/National Institute of Informatics | ||||||||||||
| 著者所属 | ||||||||||||
| School of Computer Science, Peking University/National Institute of Informatics | ||||||||||||
| 著者所属(英) | ||||||||||||
| en | ||||||||||||
| The Graduate University for Advanced Studies, SOKENDAI / National Institute of Informatics | ||||||||||||
| 著者所属(英) | ||||||||||||
| en | ||||||||||||
| The Graduate University for Advanced Studies, SOKENDAI / National Institute of Informatics | ||||||||||||
| 著者所属(英) | ||||||||||||
| en | ||||||||||||
| School of Computer Science, Peking University / National Institute of Informatics | ||||||||||||
| 著者名 |
Bach, Nguyen Trong
× Bach, Nguyen Trong
× Kanae, Tsushima
× Zhenjiang, Hu
|
|||||||||||
| 著者名(英) |
Bach, Nguyen Trong
× Bach, Nguyen Trong
× Kanae, Tsushima
× Zhenjiang, Hu
|
|||||||||||
| 論文抄録 | ||||||||||||
| 内容記述タイプ | Other | |||||||||||
| 内容記述 | Bidirectional transformations between different representations of related information appear frequently in many different areas like databases, software engineering, and programming languages. A bidirectional program expressing a bidirectional transformation includes a pair of programs - a get that defines a view over a source and a put that translates view updates to source updates - and provides strong guarantees about the well-behavedness of the get and the put. It is known to be challenging to develop bidirectional programs that are both well-behaved and practically useful. In this paper, we propose an approach to synthesizing well-behaved and practical bidirectional programs on relations from user-provided examples and data schemas. We start by synthesizing a get and decomposing it into a set of simple and atomic geta whose corresponding puta exists and thus reduce the synthesis of (get, put) into sub-synthesis of (geta, puta). Then, we solve each sub-synthesis task with a set of well-designed templates and combine all results to form the final bidirectional program. We have implemented our approach in a framework called SynthBX and evaluated it on a benchmark suite of 56 tasks from three sources. SynthBX successfully synthesizes well-behaved bidirectional programs for 52 tasks, with an average synthesis time of 19 seconds per task and within 3 seconds each for 37 of them, which shows practical usefulness of our approach. ------------------------------ This is a preprint of an article intended for publication Journal of Information Processing(JIP). This preprint should not be cited. This article should be cited as: Journal of Information Processing Vol.32(2024) (online) ------------------------------ |
|||||||||||
| 論文抄録(英) | ||||||||||||
| 内容記述タイプ | Other | |||||||||||
| 内容記述 | Bidirectional transformations between different representations of related information appear frequently in many different areas like databases, software engineering, and programming languages. A bidirectional program expressing a bidirectional transformation includes a pair of programs - a get that defines a view over a source and a put that translates view updates to source updates - and provides strong guarantees about the well-behavedness of the get and the put. It is known to be challenging to develop bidirectional programs that are both well-behaved and practically useful. In this paper, we propose an approach to synthesizing well-behaved and practical bidirectional programs on relations from user-provided examples and data schemas. We start by synthesizing a get and decomposing it into a set of simple and atomic geta whose corresponding puta exists and thus reduce the synthesis of (get, put) into sub-synthesis of (geta, puta). Then, we solve each sub-synthesis task with a set of well-designed templates and combine all results to form the final bidirectional program. We have implemented our approach in a framework called SynthBX and evaluated it on a benchmark suite of 56 tasks from three sources. SynthBX successfully synthesizes well-behaved bidirectional programs for 52 tasks, with an average synthesis time of 19 seconds per task and within 3 seconds each for 37 of them, which shows practical usefulness of our approach. ------------------------------ This is a preprint of an article intended for publication Journal of Information Processing(JIP). This preprint should not be cited. This article should be cited as: Journal of Information Processing Vol.32(2024) (online) ------------------------------ |
|||||||||||
| 書誌レコードID | ||||||||||||
| 収録物識別子タイプ | NCID | |||||||||||
| 収録物識別子 | AA11464847 | |||||||||||
| 書誌情報 |
情報処理学会論文誌データベース(TOD) 巻 17, 号 2, 発行日 2024-04-23 |
|||||||||||
| ISSN | ||||||||||||
| 収録物識別子タイプ | ISSN | |||||||||||
| 収録物識別子 | 1882-7799 | |||||||||||
| 出版者 | ||||||||||||
| 言語 | ja | |||||||||||
| 出版者 | 情報処理学会 | |||||||||||