Journal of Information Processing
Online ISSN : 1882-6652
ISSN-L : 1882-6652
 
Synthesis of Bidirectional Programs from Examples with Functional Dependencies
Bach Nguyen TrongKanae TsushimaZhenjiang Hu
Author information
JOURNAL FREE ACCESS

2024 Volume 32 Pages 451-465

Details
Abstract

Although many advanced synthesizers can generate unidirectional programs on relations (tables of relational database systems) from user-provided examples, the difficulty of synthesizing bidirectional programs - each being a well-behaved pair comprising a forward program and a backward program - from examples involving tables that have internal functional dependencies, still remains an unsolved issue. In this paper, we propose an approach that leverages the cutting-edge template-based synthesizer, PROSYNTH, to achieve the synthesis of bidirectional programs from examples with functional dependencies. We forward propagate functional dependencies from the source through intermediate relations to the view via a set of atomic forward programs, which together compose a complete forward program. Then, we illustrate how to formulate Datalog templates that encapsulate well-behaved view update strategies with minimal effects, along with additional templates that capture the constraints and effects introduced by the specified functional dependencies. Utilizing these templates, PROSYNTH could be employed to synthesize atomic backward programs that can subsequently be combined to form a complete backward program. We have implemented our proposed approach in a prototype named SYNTHBP and evaluated it on 38 practical benchmarks. Our evaluation shows that SYNTHBP is able to automate 37 of these benchmarks effectively.

Content from these authors
© 2024 by the Information Processing Society of Japan
Previous article Next article
feedback
Top