Program Language Translation Using a Grammar-Driven Tree-to-Tree Model
This addresses the problem of improving translation accuracy between programming languages for developers, though it appears incremental as it builds on existing tree-to-tree models.
The paper tackled program language translation by developing a grammar-driven tree-to-tree model that generates syntactically correct programs, and it outperformed the state-of-the-art tree-to-tree model on a synthetic translation task.
The task of translating between programming languages differs from the challenge of translating natural languages in that programming languages are designed with a far more rigid set of structural and grammatical rules. Previous work has used a tree-to-tree encoder/decoder model to take advantage of the inherent tree structure of programs during translation. Neural decoders, however, by default do not exploit known grammar rules of the target language. In this paper, we describe a tree decoder that leverages knowledge of a language's grammar rules to exclusively generate syntactically correct programs. We find that this grammar-based tree-to-tree model outperforms the state of the art tree-to-tree model in translating between two programming languages on a previously used synthetic task.