Grammar-Based Code Representation: Is It a Worthy Pursuit for LLMs?
This addresses the problem of improving code generation accuracy and semantic understanding in large language models for software engineering, though it is incremental as it builds on prior work in grammar-based representations.
The paper investigates whether grammar-based code representations improve performance in billion-scale language models for code generation, finding that they enhance accuracy on benchmarks like HumanEval and MBPP and reduce semantic errors by helping models discern subtle code differences.
Grammar serves as a cornerstone in programming languages and software engineering, providing frameworks to define the syntactic space and program structure. Existing research demonstrates the effectiveness of grammar-based code representations in small-scale models, showing their ability to reduce syntax errors and enhance performance. However, as language models scale to the billion level or beyond, syntax-level errors become rare, making it unclear whether grammar information still provides performance benefits. To explore this, we develop a series of billion-scale GrammarCoder models, incorporating grammar rules in the code generation process. Experiments on HumanEval (+) and MBPP (+) demonstrate a notable improvement in code generation accuracy. Further analysis shows that grammar-based representations enhance LLMs' ability to discern subtle code differences, reducing semantic errors caused by minor variations. These findings suggest that grammar-based code representations remain valuable even in billion-scale models, not only by maintaining syntax correctness but also by improving semantic differentiation.