HyperAIHyperAI

Command Palette

Search for a command to run...

Break-It-Fix-It : Apprentissage non supervisé pour la réparation de programmes

Michihiro Yasunaga Percy Liang

Résumé

Nous abordons les tâches de réparation : étant donné un juge (par exemple, un compilateur) qui évalue la qualité d'une entrée, l'objectif est de former un correcteur capable de transformer un exemple défectueux (par exemple, du code avec des erreurs de syntaxe) en un exemple correct (par exemple, du code sans erreurs de syntaxe). Les travaux existants créent des données d'entraînement composées de paires (défectueuses, correctes) en corrompant des exemples corrects à l'aide d'heuristiques (par exemple, en supprimant des jetons). Cependant, les correcteurs formés sur ces données générées artificiellement ne généralisent pas bien à la distribution réelle des entrées défectueuses. Pour combler cette lacune, nous proposons une nouvelle approche d'entraînement appelée Break-It-Fix-It (BIFI), qui repose sur deux idées clés : (i) nous utilisons le juge pour vérifier la sortie du correcteur sur des entrées réelles défectueuses et ajoutons les sorties correctes (réparées) aux données d'entraînement ; et (ii) nous formons un corrupteur pour générer du code défectueux réaliste à partir de code correct. Sur la base de ces idées, nous mettons à jour itérativement le corrupteur et le correcteur tout en les utilisant conjointement pour générer davantage de données appariées. Nous évaluons BIFI sur deux jeux de données de réparation de code : GitHub-Python, un nouveau jeu de données que nous introduisons où l'objectif est de réparer du code Python avec des erreurs d'analyse AST ; et DeepFix, où l'objectif est de réparer du code C avec des erreurs de compilation. BIFI surpassse les méthodes existantes, atteignant une précision de réparation de 90,5 % sur GitHub-Python (+28,5 %) et 71,7 % sur DeepFix (+5,6 %). Il convient de noter que BIFI n'a besoin d'aucune donnée étiquetée ; nous espérons qu'il constituera un point de départ solide pour l'apprentissage non supervisé diversifié des tâches de réparation.


Créer de l'IA avec l'IA

De l'idée au lancement — accélérez votre développement IA avec le co-codage IA gratuit, un environnement prêt à l'emploi et le meilleur prix pour les GPU.

Codage assisté par IA
GPU prêts à l’emploi
Tarifs les plus avantageux

HyperAI Newsletters

Abonnez-vous à nos dernières mises à jour
Nous vous enverrons les dernières mises à jour de la semaine dans votre boîte de réception à neuf heures chaque lundi matin
Propulsé par MailChimp