Addestramento di Modelli Linguistici per Generare Codice di Qualità con Feedback di Analisi del Programma
Training Language Models to Generate Quality Code with Program Analysis Feedback
May 28, 2025
Autori: Feng Yao, Zilong Wang, Liyuan Liu, Junxia Cui, Li Zhong, Xiaohan Fu, Haohui Mai, Vish Krishnan, Jianfeng Gao, Jingbo Shang
cs.AI
Abstract
La generazione di codice con modelli linguistici di grandi dimensioni (LLM), spesso definita "vibe coding", è sempre più adottata in produzione, ma non riesce a garantire la qualità del codice, in particolare per quanto riguarda la sicurezza (ad esempio, vulnerabilità da SQL injection) e la manutenibilità (ad esempio, annotazioni di tipo mancanti). I metodi esistenti, come il fine-tuning supervisionato e l'elaborazione post-hoc basata su regole, si affidano ad annotazioni laboriose o euristiche fragili, limitandone la scalabilità e l'efficacia. Proponiamo REAL, un framework di apprendimento per rinforzo che incentiva gli LLM a generare codice di qualità produttiva utilizzando feedback guidato dall'analisi del programma. Nello specifico, REAL integra due segnali automatizzati: (1) l'analisi del programma che rileva difetti di sicurezza o manutenibilità e (2) i test unitari che garantiscono la correttezza funzionale. A differenza dei lavori precedenti, il nostro framework è indipendente dal prompt e non richiede riferimenti, consentendo una supervisione scalabile senza intervento manuale. Esperimenti su più dataset e scale di modelli dimostrano che REAL supera i metodi all'avanguardia nelle valutazioni simultanee di funzionalità e qualità del codice. Il nostro lavoro colma il divario tra prototipazione rapida e codice pronto per la produzione, consentendo agli LLM di offrire sia velocità che qualità.
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.