AST-T5: Structure-Aware Pretraining for Code Generation and Understanding
Linyuan Gong, Mostafa Elhoushi, Alvin Cheung
TL;DR
<3-5 sentence high-level summary> Code-language models often treat code as unstructured sequences, neglecting syntax; AST-T5 tackles this by introducing AST-aware pretraining using Tree-sitter-parsed ASTs, DP-based segmentation, and AST-aware subtree masking within a standard encoder-decoder T5 framework. The authors demonstrate that these structure-aware pretraining cues improve code generation, transpilation, and understanding, outperforming similar-sized baselines and approaching larger models on several benchmarks. Importantly, AST-T5 remains architecture-agnostic and acts as a drop-in replacement for existing encoder-decoder LMs, with strong gains in code-to-code tasks such as Bugs2Fix and Java-C# transpilation, and robust performance on HumanEval/MBPP. The work suggests that targeted structural priors can yield substantial benefits for code-centric AI systems and opens paths for scaling and broader language coverage.
Abstract
Large language models (LLMs) have made significant advancements in code-related tasks, yet many LLMs treat code as simple sequences, neglecting its structured nature. We introduce AST-T5, a novel pretraining paradigm that leverages the Abstract Syntax Tree (AST) for enhanced code generation, transpilation, and understanding. Using dynamic programming, our AST-Aware Segmentation retains code structure, while our AST-Aware Span Corruption objective equips the model to reconstruct various code structures. Unlike other models, AST-T5 avoids intricate program analyses or architectural changes, so it integrates seamlessly with any encoder-decoder Transformer. Evaluations show that AST-T5 consistently outperforms similar-sized LMs across various code-related tasks. Structure-awareness makes AST-T5 particularly powerful in code-to-code tasks, surpassing CodeT5 by 2 points in exact match score for the Bugs2Fix task and by 3 points in exact match score for Java-C# Transpilation in CodeXGLUE. Our code and model are publicly available at https://github.com/gonglinyuan/ast_t5.
