HyperAIHyperAI
il y a 2 mois

De la Code à la Correction : Fermer la Dernière Étape de la Génération de Code avec le Débogage Hiérarchique

Yuling Shi, Songsong Wang, Chengcheng Wan, Xiaodong Gu
De la Code à la Correction : Fermer la Dernière Étape de la Génération de Code avec le Débogage Hiérarchique
Résumé

Bien que les grands modèles de langage aient réalisé des progrès significatifs dans la génération de code, le taux de réussite du code généré est freiné par des erreurs subtiles, nécessitant souvent une intervention humaine pour passer les tests, en particulier pour les problèmes complexes. Les systèmes de débogage existants basés sur les grands modèles de langage traitent les programmes générés comme des unités monolithiques, échouant à aborder les bugs à différents niveaux de granularité, allant des erreurs syntaxiques de bas niveau aux failles algorithmiques de haut niveau. Dans cet article, nous présentons Multi-Granularity Debugger (MGDebugger), un débogueur hiérarchique qui isole, identifie et résout les bugs à divers niveaux de granularité. MGDebugger décompose le code problématique en une structure arborescente hiérarchique de sous-fonctions, chaque niveau représentant une granularité particulière d'erreur. Pendant le débogage, il analyse chaque sous-fonction et résout itérativement les bugs d'une manière ascendante. Pour tester efficacement chaque sous-fonction, nous proposons un exécuteur Python simulé par un grand modèle de langage (LLM-simulated Python executor), qui trace l'exécution du code et suit les états importants des variables afin d'identifier précisément les erreurs. Des expériences approfondies montrent que MGDebugger surpasse les systèmes de débogage existants, réalisant une amélioration de 18,9 % en précision par rapport aux générations initiales dans HumanEval et un taux de réparation réussi de 97,6 % dans HumanEvalFix. De plus, MGDebugger corrige efficacement les bugs dans différentes catégories et niveaux de difficulté, démontrant sa robustesse et son efficacité.

De la Code à la Correction : Fermer la Dernière Étape de la Génération de Code avec le Débogage Hiérarchique | Articles de recherche récents | HyperAI