GAP-Gen: Guided Automatic Python Code Generation
  Automatic code generation from natural language descriptions can be highly
beneficial during the process of software development. In this work, we propose
GAP-Gen, an automatic code generation method guided by Python syntactic
constraints and semantic constraints. We first introduce Python syntactic
constraints in the form of Syntax-Flow, which is a simplified version of
Abstract Syntax Tree (AST) reducing the size and high complexity of Abstract
Syntax Tree but maintaining the crucial syn-tactic information of Python code.
In addition to Syntax-Flow, we introduce Variable-Flow which abstracts variable
and function names consistently throughout the code. In our work, rather than
pre-training, we focus on modifying the fine-tuning process which reduces
computational requirements but retains high generation performance on automatic
Python code generation task. GAP-Gen fine-tunes the transformer-based language
models T5 and CodeT5 using the Code-to-Docstring datasets CodeSearchNet,
CodeSearchNet AdvTest, and Code-Docstring-Corpus from EdinburghNLP. Our
experiments show that GAP-Gen achieves better results on automatic Python code
generation task than previous works
