An efficient composition of bidirectional programs by memoization and lazy update

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

Standard

An efficient composition of bidirectional programs by memoization and lazy update. / Tsushima, Kanae; Trong, Bach Nguyen; Glück, Robert; Hu, Zhenjiang.

Functional and Logic Programming.: 15th International Symposium, FLOPS 2020 Akita, Japan, September 14–16, 2020 Proceedings. red. / Keisuke Nakano; Konstantinos Sagonas. Springer, 2020. s. 159-178 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Bind 12073 LNCS).

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

Harvard

Tsushima, K, Trong, BN, Glück, R & Hu, Z 2020, An efficient composition of bidirectional programs by memoization and lazy update. i K Nakano & K Sagonas (red), Functional and Logic Programming.: 15th International Symposium, FLOPS 2020 Akita, Japan, September 14–16, 2020 Proceedings. Springer, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), bind 12073 LNCS, s. 159-178, 15th International Symposium on Functional and Logic Programming, FLOPS 2020, Akita, Japan, 14/09/2020. https://doi.org/10.1007/978-3-030-59025-3_10

APA

Tsushima, K., Trong, B. N., Glück, R., & Hu, Z. (2020). An efficient composition of bidirectional programs by memoization and lazy update. I K. Nakano, & K. Sagonas (red.), Functional and Logic Programming.: 15th International Symposium, FLOPS 2020 Akita, Japan, September 14–16, 2020 Proceedings (s. 159-178). Springer. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) Bind 12073 LNCS https://doi.org/10.1007/978-3-030-59025-3_10

Vancouver

Tsushima K, Trong BN, Glück R, Hu Z. An efficient composition of bidirectional programs by memoization and lazy update. I Nakano K, Sagonas K, red., Functional and Logic Programming.: 15th International Symposium, FLOPS 2020 Akita, Japan, September 14–16, 2020 Proceedings. Springer. 2020. s. 159-178. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Bind 12073 LNCS). https://doi.org/10.1007/978-3-030-59025-3_10

Author

Tsushima, Kanae ; Trong, Bach Nguyen ; Glück, Robert ; Hu, Zhenjiang. / An efficient composition of bidirectional programs by memoization and lazy update. Functional and Logic Programming.: 15th International Symposium, FLOPS 2020 Akita, Japan, September 14–16, 2020 Proceedings. red. / Keisuke Nakano ; Konstantinos Sagonas. Springer, 2020. s. 159-178 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Bind 12073 LNCS).

Bibtex

@inproceedings{18ecc4a2dff9470e950686ffd667d002,
title = "An efficient composition of bidirectional programs by memoization and lazy update",
abstract = "Bidirectional transformations (BX) are a solution to the view update problem and widely used for synchronizing data. The semantics and correctness of bidirectional programs have been investigated intensively during the past years, but their efficiency and optimization are not yet fully understood. In this paper, as a first step, we study different evaluation methods to optimize their evaluation. We focus on the interpretive evaluation of BX compositions because we found that these compositions are an important cause of redundant computations if the compositions are not right associative. For evaluating BX compositions efficiently, we investigate two memoization methods. The first method, minBiGUL m , uses memoization, which improves the runtime of many BX programs by keeping intermediate results for later reuse. A disadvantage is the familiar tradeoff for keeping and searching values in a table. When inputs become large, the overhead increases and the effectiveness decreases. To deal with large inputs, we introduce the second method, xpg, that uses tupling, lazy update and lazy evaluation as optimizations. Lazy updates delay updates in closures and enables them to use them later. Both evaluation methods were fully implemented for minBiGUL. The experimental results show that our methods are faster than the original method of BiGUL for the non-right associative compositions.",
keywords = "Bidirectional transformation, Efficiency, Implementation technique, Optimization, Tupling",
author = "Kanae Tsushima and Trong, {Bach Nguyen} and Robert Gl{\"u}ck and Zhenjiang Hu",
year = "2020",
doi = "10.1007/978-3-030-59025-3_10",
language = "English",
isbn = "9783030590246",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer",
pages = "159--178",
editor = "Keisuke Nakano and Konstantinos Sagonas",
booktitle = "Functional and Logic Programming.",
address = "Switzerland",
note = "15th International Symposium on Functional and Logic Programming, FLOPS 2020 ; Conference date: 14-09-2020 Through 16-09-2020",

}

RIS

TY - GEN

T1 - An efficient composition of bidirectional programs by memoization and lazy update

AU - Tsushima, Kanae

AU - Trong, Bach Nguyen

AU - Glück, Robert

AU - Hu, Zhenjiang

PY - 2020

Y1 - 2020

N2 - Bidirectional transformations (BX) are a solution to the view update problem and widely used for synchronizing data. The semantics and correctness of bidirectional programs have been investigated intensively during the past years, but their efficiency and optimization are not yet fully understood. In this paper, as a first step, we study different evaluation methods to optimize their evaluation. We focus on the interpretive evaluation of BX compositions because we found that these compositions are an important cause of redundant computations if the compositions are not right associative. For evaluating BX compositions efficiently, we investigate two memoization methods. The first method, minBiGUL m , uses memoization, which improves the runtime of many BX programs by keeping intermediate results for later reuse. A disadvantage is the familiar tradeoff for keeping and searching values in a table. When inputs become large, the overhead increases and the effectiveness decreases. To deal with large inputs, we introduce the second method, xpg, that uses tupling, lazy update and lazy evaluation as optimizations. Lazy updates delay updates in closures and enables them to use them later. Both evaluation methods were fully implemented for minBiGUL. The experimental results show that our methods are faster than the original method of BiGUL for the non-right associative compositions.

AB - Bidirectional transformations (BX) are a solution to the view update problem and widely used for synchronizing data. The semantics and correctness of bidirectional programs have been investigated intensively during the past years, but their efficiency and optimization are not yet fully understood. In this paper, as a first step, we study different evaluation methods to optimize their evaluation. We focus on the interpretive evaluation of BX compositions because we found that these compositions are an important cause of redundant computations if the compositions are not right associative. For evaluating BX compositions efficiently, we investigate two memoization methods. The first method, minBiGUL m , uses memoization, which improves the runtime of many BX programs by keeping intermediate results for later reuse. A disadvantage is the familiar tradeoff for keeping and searching values in a table. When inputs become large, the overhead increases and the effectiveness decreases. To deal with large inputs, we introduce the second method, xpg, that uses tupling, lazy update and lazy evaluation as optimizations. Lazy updates delay updates in closures and enables them to use them later. Both evaluation methods were fully implemented for minBiGUL. The experimental results show that our methods are faster than the original method of BiGUL for the non-right associative compositions.

KW - Bidirectional transformation

KW - Efficiency

KW - Implementation technique

KW - Optimization

KW - Tupling

U2 - 10.1007/978-3-030-59025-3_10

DO - 10.1007/978-3-030-59025-3_10

M3 - Article in proceedings

AN - SCOPUS:85091327917

SN - 9783030590246

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 159

EP - 178

BT - Functional and Logic Programming.

A2 - Nakano, Keisuke

A2 - Sagonas, Konstantinos

PB - Springer

T2 - 15th International Symposium on Functional and Logic Programming, FLOPS 2020

Y2 - 14 September 2020 through 16 September 2020

ER -

ID: 249395716