Putback-based BX

A gentle approach to synchronising kinds of data


A gentle approach to synchronising various data in XML format.



A simple DSL to roll your parser and reflective printer into one.




A formally verified core language for putback-based bidirectional programming:
modelled in Agda and ported to Haskell.




Anthony Anjorin, Zinovy Diskin, Frédéric Jouault, Hsiang-Shang Ko, Erhan Leblebici, and Bernhard Westfechtel. BenchmarX reloaded: A practical benchmark framework for bidirectional transformations. International Workshop on Bidirectional Transformations (BX) 2017.


Zirun Zhu, Yongzhe Zhang, Hsiang-Shang Ko, Pedro Martins, João Saraiva, and Zhenjiang Hu. Parsing and reflective printing, bidirectionally. International Conference on Software Language Engineering (SLE) 2016.

Hsiang-Shang Ko, Tao Zan, and Zhenjiang Hu. BiGUL: A formally verified core language for putback-based bidirectional programming. Workshop on Partial Evaluation and Program Manipulation (PEPM) 2016.

Jorge Mendes, Hsiang-Shang Ko, and Zhenjiang Hu. The under-appreciated put: Implementing delta-alignment in BiGUL. GRACE Center, National Institute of Informatics 2016. (Technical report)


Zirun Zhu, Hsiang-Shang Ko, Pedro Martins, Joao Saraiva, Zhenjiang Hu, BiYacc: Roll Your Parser and Reflective Printer into One, 4th International Workshop on Bidirectional Transformations (BX 2015), L'Aquila, Italy, July 24, 2015.

Sebastian Fischer, Zhenjiang Hu, Hugo Pacheco, A Clear Picture of Lens Laws, 12th International Conference on Mathematics of Program Construction (MPC 2015), Konigswinter, Germany, June 29 - July 1, 2015.

Lionel Montrieux, Zhenjiang Hu, Towards Attribute-Based Authorisation for Bidirectional Programming, 20th ACM Symposium on Access Control Models and Technologies (SACMAT 2015), Vienna, Austria, June 1-3, 2015.

Sebastian Fischer, Zhenjiang Hu, Hugo Pacheco, The Essence of Bidirectional Programming, Science China Information Sciences, Springer, Vol.58, No. 052106, 2015. pp. 1–21.


Hugo Pacheco, Tao Zan, Zhenjiang Hu, BiFluX: A Bidirectional Functional Update Language for XML, 16th International Symposium on Principles and Practice of Declarative Programming (PPDP 2014), Canterbury, UK, September 8-10, 2014.

Tao Zan, Hugo Pacheco, Zhenjiang Hu, Writing Bidirectional Model Transformations as Intentional Updates (NIER Track Paper), 36th International Conference on Software Engineering, New Idea and Emerging Results Track, (ICSE 2014 (NIER Track)), India, May 31-June 7, 2014.

Zhenjiang Hu, Hugo Pacheco, Sebastian Fischer, Validity Checking of Putback Transformations in Bidirectional Programming (Invited Paper), 19th Interntional Symposium on Formal Methods (FM 2014), Singapore, May 12-16, 2014.

Hugo Pacheco, Zhenjiang Hu, Sebastian Fischer, Monadic Combinators for "Putback" Style Bidirectional Programming, ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation (PEPM 2014), San Diego, California, USA, January 20-21, 2014.

Current members

Zhenjiang Hu


Hsiang-Shang Ko

Postdoctoral researcher

Zirun Zhu

PhD student (2014 ~ 2019)

former members

Huaizhi Chen

Internship student

Xiao Chen

Internship student

Sebastian Fischer

Postdoctoral researcher

Chunmiao Li

Internship Student

Li Liu

Internship Student

Mengyu Liu

Internship student

Lionel Montrieux

Postdoctoral researcher

Hugo Pacheco

Postdoctoral researcher

Thibaut Tachon

Internship student

Tao Zan


Tianqi Zhao

Internship student

Weize Zhao

Internship student

Contact BX-Tokyo

Feel free to email us if you have difficulties, or just to provide some feedback on our projects.