Bidirectionalization transformation based on automatic derivation of view complement functions

Kazutaka Matsuda, Zhenjiang Hu, Keisuke Nakano, Makoto Hamana, Masato Takeichi

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

70 Citations (Scopus)


Bidirectional transformation is a pair of transformations: a view function and a backward transformation. A view function maps one data structure called source onto another called view. The corresponding backward transformation reflects changes in the view to the source. Its practically useful applications include replicated data synchronization, presentation-oriented editor development, tracing software development, and view updating in the database community. However, developing a bidirectional transformation is hard, because one has to give two mappings that satisfy the bidirectional properties for system consistency. In this paper, we propose a new framework for bidirectionalization that can automatically generate a useful backward transformation from a view function while guaranteeing that the two transformations satisfy the bidirectional properties. Our framework is based on two known approaches to bidirectionalization, namely the constant complement approach from the database community and the combinator approach from the programming language community, but it has three new features: (1) unlike the constant complement approach, it can deal with transformations between algebraic data structures rather than just tables; (2) unlike the combinator approach, in which primitive bidirectional transformations have to be explicitly given, it can derive them automatically; (3) it generates a view update checker to validate updates on views, which has not been well addressed so far. The new framework has been implemented and the experimental results show that our framework has promise.

Original languageEnglish
Title of host publicationICFP'07
Subtitle of host publicationProceedings of the 2007 ACM SIGPLAN International Conference on Functional Programming
Number of pages12
Publication statusPublished - 2007
EventICFP'07: 12th ACM SIGPLAN International Conference on Functional Programming - Freiburg, Germany
Duration: 2007 Oct 12007 Oct 3

Publication series

NameProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP


ConferenceICFP'07: 12th ACM SIGPLAN International Conference on Functional Programming


  • Automatic program generation
  • Bidirectional transformation
  • Program inversion
  • Program transformation
  • View updating


Dive into the research topics of 'Bidirectionalization transformation based on automatic derivation of view complement functions'. Together they form a unique fingerprint.

Cite this