HyperAIHyperAI
il y a 2 mois

SPoC : Recherche de pseudo-code à code

Sumith Kulal; Panupong Pasupat; Kartik Chandra; Mina Lee; Oded Padon; Alex Aiken; Percy Liang
SPoC : Recherche de pseudo-code à code
Résumé

Nous abordons la tâche de traduire du pseudo-code en programmes longs et fonctionnellement corrects. Étant donné des cas de test comme mécanisme pour valider les programmes, nous effectuons une recherche dans l'espace des traductions possibles du pseudo-code afin de trouver un programme qui passe la validation. Cependant, sans une attribution de crédit appropriée pour localiser les sources d'échec des programmes, il est difficile d'orienter la recherche vers des programmes plus prometteurs. Nous proposons d'effectuer l'attribution de crédit en fonction des signaux provenant des erreurs de compilation, qui représentent 88,7 % des échecs de programme. Plus précisément, nous traitons la traduction de chaque ligne de pseudo-code comme une partie discrète du programme, et chaque fois qu'un programme synthétisé échoue à compiler, une méthode de localisation d'erreur tente d'identifier la partie du programme responsable de l'échec. Nous concentrons ensuite notre recherche sur des traductions alternatives du pseudo-code pour ces parties. Pour l'évaluation, nous avons collecté le jeu de données SPoC (Search-based Pseudocode to Code) contenant 18 356 programmes avec du pseudo-code rédigé par des humains et des cas de test. Avec un budget de 100 compilations de programme, effectuer une recherche améliore le taux de réussite de la synthèse par rapport à l'utilisation seule de la meilleure traduction du pseudo-code, passant de 25,6 % à 44,7 %.

SPoC : Recherche de pseudo-code à code | Articles de recherche récents | HyperAI