Search papers, labs, and topics across Lattice.
This paper analyzes common compilation errors in LLM-generated COBOL code, categorizing them into incomplete code, syntax, and type-related errors. It introduces COBOLAssist, an iterative repair technique guided by compilation feedback, to improve code correctness. Experiments with five LLMs show that COBOLAssist significantly increases compilation success rates, particularly for GPT-4o (from 41.8\% to 95.89\%).
LLMs struggle to generate correct COBOL code, but a simple compilation-guided repair loop can boost success rates by over 50%.
Legacy programming languages such as COBOL (Common Business-Oriented Language) remain critical in business computing. However, maintaining legacy COBOL systems is increasingly challenging due to a declining pool of skilled developers and the persistence of COBOL errors that require deep domain expertise to resolve. This paper investigates the challenges of COBOL compilation errors and introduces a framework leveraging large language models (LLMs) to address these issues. We first categorize the common compilation errors in LLM-generated COBOL code into three groups: incomplete code errors, syntax errors, and type-related errors. We further propose COBOLAssist, a technique to enhance code correctness through iterative repairs guided by compilation feedback. Our evaluation using five LLMs including GPT variants and mAInframer, shows a high prevalence of incorrect program structures and function usage in COBOL programs and demonstrates the effectiveness of COBOLAssist, with the compilation success rates increasing from 29.5\% to 64.38\% for GPT-4o-mini and from 41.8\% to 95.89\% for GPT-4o. It also improves pass@1 significantly, for example from 9.1 to 22.6 for GPT-4. Notably, while mAInframer-34B achieves the highest compilation success rate, its functional correctness remains limited. This research not only highlights the limitations in current LLMs for COBOL but also demonstrates a practical path forward for automated debugging in legacy systems.