Daily Arxiv

Cette page résume et organise les publications en intelligence artificielle du monde entier.
Les contenus sont synthétisés grâce à Google Gemini et le service est proposé à but non lucratif.
Les droits d'auteur des articles appartiennent à leurs auteurs ou institutions respectives ; en cas de partage, il suffit d'en mentionner la source.

Apprendre à générer des tests unitaires pour le débogage automatisé

Created by
  • Haebom

Auteur

Archiki Prasad, Elias Stengel-Eskin, Justin Chih-Yao Chen, Zaid Khan, Mohit Bansal

Contour

Cet article révèle un compromis entre la génération d'entrées de tests unitaires sujettes aux erreurs et la prédiction précise de sorties de tests unitaires sans réponse correcte. Pour résoudre ce problème, nous proposons UTGen, qui entraîne les LLM à générer des entrées de tests unitaires sujettes aux erreurs et à corriger les sorties attendues en fonction des descriptions de tâches. Les tests générés par le modèle pouvant contenir du bruit, nous améliorons les prédictions de sortie des UT en exploitant les calculs de temps de test via UTDebug. De plus, nous vérifions et rétro-analysons les modifications basées sur plusieurs UT générés afin d'éviter le surapprentissage et de soutenir efficacement le débogage des LLM. Les résultats expérimentaux montrent qu'UTGen surpasse de 7,59 % les autres modèles de référence basés sur les LLM sur les métriques mesurant à la fois les entrées de UT sujettes aux erreurs et les sorties correctes des UT. Associé à UTDebug, il améliore la précision pass@1 de Qwen2.5 32B de 3,17 % et 12,35 %, respectivement, sur les partitions de débogage plus complexes de HumanEvalFix et MBPP+ par rapport aux autres modèles de base de génération UT basés sur LLM. De plus, les retours du modèle UTGen basé sur Qwen2.5 32B ont amélioré de 13,8 % les performances de débogage des LLM de pointe, tels que GPT-4o. Enfin, UTGen démontre qu'en utilisant Qwen2.5 7B avec les 10 meilleurs échantillons de HumanEval+, il surpasse de 4,43 % le modèle de récompense 8B de pointe pour déterminer l'exactitude du code.

Takeaways, Limitations

Takeaways:
Nous présentons une nouvelle approche pour résoudre le compromis entre la génération d’entrées de test unitaires qui révèlent des erreurs et la prédiction de sorties précises.
Amélioration des performances de génération et de débogage des tests unitaires basés sur LLM avec UTGen et UTDebug.
Contribuer à améliorer la capacité du LLM à juger de l'exactitude du code
Contribuer à l'amélioration des performances de débogage des LLM de pointe
Limitations:
Les améliorations de performances d'UTGen et d'UTDebug peuvent dépendre du LLM (Qwen2.5) et du jeu de données spécifiques. Des recherches supplémentaires sont nécessaires pour déterminer les performances de généralisation sur d'autres LLM et jeux de données.
Besoin de créer des tests unitaires pour du code complexe et d'évaluer les performances de débogage.
Une analyse plus approfondie est nécessaire sur l’efficacité de la stratégie de prévention du surapprentissage d’UTDebug.
Il est nécessaire d’évaluer l’applicabilité et l’évolutivité des grandes bases de code.
👍