一句话:提出 Coverage Tree 表示与工具,评估 COBOL 程序集的语法覆盖度,并自动生成语句填补未覆盖语法。
CodeLLM 已被广泛用于程序翻译(如 COBOL 转 Java、C 转 Rust),但其训练语料必须覆盖目标语言的全部语法特性,这一挑战在语法丰富而开源程序稀缺的遗留语言(如 COBOL、ABAP)上尤为突出。本文提出一个用于评估 COBOL 程序语法覆盖度的工具,其核心是一种称为 Coverage Tree 的表示,能够紧凑而直观地刻画一组程序所覆盖的语法构造。基于该表示,工具不仅能量化覆盖情况,还能针对未被覆盖的语法空缺自动生成相应的代码语句。作者在 COBOL 基准上开展实验,结果验证了该工具的有效性,并提供了演示视频。
In recent years, CodeLLMs have revolutionized the way developers interact with code. One notable application has been program translation, such as converting COBOL to Java or C to Rust. A critical challenge in this domain is ensuring that CodeLLMs are trained on programs that cover all syntactic features of the target language. This issue is especially pronounced for legacy languages like COBOL and ABAP, which are syntactically rich and have limited availability of open-source programs. In this paper, we present a tool for evaluating the syntactic coverage of COBOL programs. At the core of our approach is a representation called the Coverage Tree, which compactly and intuitively captures the syntactic constructs covered by a set of programs. Additionally, the tool can generate code statements to address uncovered syntactic gaps. Experimental results with COBOL benchmarks demonstrate the effectiveness of the tool. Screencast URL: https://youtu.be/lM0KHzcvllY.
DOI 原文 ·
@inproceedings{paperbot9327,
title = {Evaluating Program Coverage for Code-Model Training},
author = {Nandakishore Menon and Diptikalyan Saha},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00379}
}