Zhenjiang Hu - Publications#
Prof. Hu authored 300+ research papers, many in top conferences and journals including POPL, PLDI, ICFP, ICSE, FSE, ASE, MODDLS, FM and ACM TOPLAS. Please see http://research.nii.ac.jp/~hu/pub/tech-j.html for the list.
1) Hsiang-Shang Ko, Zhenjiang Hu. An Axiomatic Basis for Bidirectional Programming, 45th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2018), Los Angeles, California, United States, January 8-13, 2018.
This is a paper published recently. The significance of the work is that it presents the first theoretical framework for reasoning about the behavior of bidirectional programs. This work, together with other previous work on bidirectional programming, made a huge impact in the programming language and software engineering communities. The series of the work has been presented as keynote/invite talks at many international conferences such as FM 2014, APLAS 2014, FLOPS 2018 and ICFEM 2018.
2) Xiao He, Zhenjiang Hu, Putback-based Bidirectional Model Transformations, 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE'18) , Lake Buena Vista, Florida, United States, Gothenburg, Sweden, November 4-9, 2018.
This work defines the first bidirectional language that can fully describe all bidirectional behavior for the most complicated models/graphs. It solved one of the well known challenging problems in the BX community. The existing approaches on trees cannot be directly applied to bidirectional model transformation due to that shared nodes are common and inevitable in models/graphs.
3) Zhenjiang Hu, Hugo Pacheco, Sebastian Fischer. Validity Checking of Putback Transformations in Bidirectional Programming, 19th International Symposium on Formal Methods (FM 2014), Singapore, May 12-16, 2014.
This paper solves the open problem of how to check whether the definition of a putback transformation is valid to guarantee the existence of the unique forward transformation. The essence of the approach is that it defines a simple and powerful functional language for describing putback transformations. It demonstrates that validity of putback transformations in this language is decidable and can be automatically checked.
4) Yijun Yu, Yu Lin, Zhenjiang Hu, Soichiro Hidaka, Hiroyuki Kato, Lionel Montrieux. Maintaining Invariant Traceability through Bidirectional Transformations, 34th International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland, June 2 – 9, 2012.
This is the first novel application of bidirectional transformation to model-code co-evolution. The work is based on our GroundTram system discussed in the paper that received Takahashi Award ( best paper award) from Japan Society for Software Science and Technology in 2008. It gives a two-layered invariant traceability framework; on top of the vertical (model<->code) synchronizations between a model and the template code, a horizontal (code<->code) synchronization between user and template code is supported.
5) Akimasa Morihata, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi., The Third Homomorphism Theorem on Trees: Downward & Upward Lead to Divide-and-Conquer, 36th Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL 2009), Savannah, Georgia, USA, January 21-23, 2009. pp.177-185.
It is known as the third homomorphism theorem that a sequential program on lists can be parallelized if and only if it can be computed both leftwards and rightwards. This paper reveals that the idea can be extended from lists (a linear data structure) to trees (a nonlinear data structure), saying that if a sequential program on tree can be parallelized if and only if it can be computed both "topdown" and "bottomup".
6) Zhenjiang Hu, Shin-Cheng Mu, Masato Takeichi., A Programmable Editor for Developing Structured Documents based on Bidirectional Transformations. Higher- Order and Symbolic Computation (HOSC), Vol. 21, No. 1-2, Springer, June 2008. pp.89-118.
This paper presents a novel application of bidirectional transformation to document engineering, by constructing an editor that can support interactive refinement in the development of structured documents. The user performs a sequence of editing operations on the document view, and the editor automatically derives an efficient and reliable document source and a transformation that produces the document view.
7) Yingfei Xiong, Dongxi Liu, Zhenjiang Hu, Haiyan Zhao, Masato Takeichi, Hong Mei. Towards Automatic Model Synchronization from Model Transformations, Proceedings of the 22nd International Conference on Automated Software Engineering (ASE), pp. 164-173, 2007.
This is one of the most cited papers in the bidirectional transformation community. It proposes an automatic approach to synchronizing models that are related by model transformations, Given a unidirectional transformation between metamodels, one can automatically synchronize models in the metamodels by propagating modifications across the models.
8) Zhenjiang Hu , Masato Takeichi, Wei-Ngan Chin, Parallelization in Calculational Forms , 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'98), San Diego, California, USA, January 1998, pp. 316-328. ACM Press.
The significance of this work is that it creates a new parallelization framework that leads to a lot of follow-up work on automatic parallelization of programs on lists (PLDI'07), on trees (POPL'09), and on graphs (ICFP'16). Furthermore, it provides a good example showing that program calculation is not just for derivation of algorithms by human, but also for construction of useful systems by machine. Part of this work received Takahashi Award (the best paper award) from Japan Society for Software Science and Technology in 1997.
9) Zhenjiang Hu, Hideya Iwasaki, and Masato Takeichi. Formal Derivation of Efficient Parallel Programs by Construction of List Homomorphisms. ACM Transactions on Programming Languages and Systems (TOPLAS), 19(3):444– 461, 1997.
This work presents the first systematic parallelization method by program calculation. The idea is based on the fusion and tupling calculation on list homomorphism. This paper shows how an “obviously” correct, but quite inefficient solution to the problem can be successfully turned into a semantically equivalent "list homomorphism.”
10) Zhenjiang Hu, Hideya Iwasaki, and Masato Takeichi. Deriving structural hylomorphisms from recursive definitions, ACM SIGPLAN International Conference on Functional Programming, pages 73–82, Philadelphia, PA, May 1996. ACM Press.
This paper proposes the first algorithm that can automatically structure a recursive definition into a hylomorphim, a generic recursive form enjoying many algebraic laws for program calculation. The significance of this work is that it opens up a new opportunity and direction to use program calculation to optimize functional programs in a compiler. It served as the basis for the Dr. Hylo system developed by the Minho University, and was effectively used in optimization of parallel Haskell (pH) programs by the parallel programming team in MIT.