Training von Sprachmodellen zur Erzeugung qualitativ hochwertigen Codes mit Programmanalyse-Feedback
Training Language Models to Generate Quality Code with Program Analysis Feedback
May 28, 2025
Autoren: Feng Yao, Zilong Wang, Liyuan Liu, Junxia Cui, Li Zhong, Xiaohan Fu, Haohui Mai, Vish Krishnan, Jianfeng Gao, Jingbo Shang
cs.AI
Zusammenfassung
Die Codegenerierung mit großen Sprachmodellen (LLMs), oft auch als "Vibe Coding" bezeichnet, wird zunehmend in der Produktion eingesetzt, gewährleistet jedoch keine Codequalität, insbesondere in Bezug auf Sicherheit (z. B. SQL-Injection-Schwachstellen) und Wartbarkeit (z. B. fehlende Typannotationen). Bestehende Methoden, wie überwachtes Feinabstimmen und regelbasierte Nachbearbeitung, stützen sich auf arbeitsintensive Annotationen oder fragwürdige Heuristiken, was ihre Skalierbarkeit und Effektivität einschränkt. Wir schlagen REAL vor, ein Reinforcement-Learning-Framework, das LLMs dazu anregt, produktionsreifen Code mithilfe von programmanalysengeleitetem Feedback zu generieren. Konkret integriert REAL zwei automatisierte Signale: (1) Programmanalyse, die Sicherheits- oder Wartbarkeitsmängel erkennt, und (2) Unit-Tests, die die funktionale Korrektheit sicherstellen. Im Gegensatz zu früheren Arbeiten ist unser Framework prompt-agnostisch und referenzfrei, was eine skalierbare Überwachung ohne manuellen Eingriff ermöglicht. Experimente über mehrere Datensätze und Modellgrößen hinweg zeigen, dass REAL bei gleichzeitiger Bewertung von Funktionalität und Codequalität state-of-the-art-Methoden übertrifft. Unsere Arbeit schließt die Lücke zwischen schnellem Prototyping und produktionsreifem Code und ermöglicht es LLMs, sowohl Geschwindigkeit als auch Qualität zu liefern.
English
Code generation with large language models (LLMs), often termed vibe coding,
is increasingly adopted in production but fails to ensure code quality,
particularly in security (e.g., SQL injection vulnerabilities) and
maintainability (e.g., missing type annotations). Existing methods, such as
supervised fine-tuning and rule-based post-processing, rely on labor-intensive
annotations or brittle heuristics, limiting their scalability and
effectiveness. We propose REAL, a reinforcement learning framework that
incentivizes LLMs to generate production-quality code using program
analysis-guided feedback. Specifically, REAL integrates two automated signals:
(1) program analysis detecting security or maintainability defects and (2) unit
tests ensuring functional correctness. Unlike prior work, our framework is
prompt-agnostic and reference-free, enabling scalable supervision without
manual intervention. Experiments across multiple datasets and model scales
demonstrate that REAL outperforms state-of-the-art methods in simultaneous
assessments of functionality and code quality. Our work bridges the gap between
rapid prototyping and production-ready code, enabling LLMs to deliver both
speed and quality.