ChatPaper.aiChatPaper

Entraîner des modèles de langage à générer du code de qualité avec un retour d'analyse de programme

Training Language Models to Generate Quality Code with Program Analysis Feedback

May 28, 2025
Auteurs: Feng Yao, Zilong Wang, Liyuan Liu, Junxia Cui, Li Zhong, Xiaohan Fu, Haohui Mai, Vish Krishnan, Jianfeng Gao, Jingbo Shang
cs.AI

Résumé

La génération de code avec des modèles de langage à grande échelle (LLMs), souvent appelée *vibe coding*, est de plus en plus adoptée en production, mais elle ne parvient pas à garantir la qualité du code, notamment en matière de sécurité (par exemple, les vulnérabilités d'injection SQL) et de maintenabilité (par exemple, l'absence d'annotations de type). Les méthodes existantes, telles que le fine-tuning supervisé et le post-traitement basé sur des règles, reposent sur des annotations laborieuses ou des heuristiques fragiles, limitant ainsi leur évolutivité et leur efficacité. Nous proposons REAL, un cadre d'apprentissage par renforcement qui incite les LLMs à générer du code de qualité production en utilisant des retours guidés par l'analyse de programmes. Plus précisément, REAL intègre deux signaux automatisés : (1) l'analyse de programmes détectant des défauts de sécurité ou de maintenabilité, et (2) les tests unitaires assurant la correction fonctionnelle. Contrairement aux travaux précédents, notre cadre est indépendant des prompts et ne nécessite pas de références, permettant une supervision évolutive sans intervention manuelle. Les expériences menées sur plusieurs jeux de données et échelles de modèles montrent que REAL surpasse les méthodes de pointe dans l'évaluation simultanée de la fonctionnalité et de la qualité du code. Notre travail comble le fossé entre le prototypage rapide et le code prêt pour la production, permettant aux LLMs de concilier vitesse et 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.
PDF94June 4, 2025