Faites un don à arXiv

Titre: When Deep Learning Met Code Search

Auteurs: Jose Cambronero, Hongyu Li, Seohyun Kim, Koushik Sen, Satish Chandra

Télécharger le PDF

Résumé: Il y a eu plusieurs propositions récentes sur l’utilisation de réseaux neuronaux profonds pour la recherche de codes en utilisant le langage naturel. L’idée commune à ces propositions est l’idée de requêtes de code $\mathit{embedding} code et de langage naturel, dans des vecteurs réels, puis en utilisant la distance vectorielle pour approximer la corrélation sémantique entre le code et la requête. Plusieurs approches existent pour l’apprentissage de ces plongements,y compris les $\mathit{non supervisé}$ des techniques, qui s’appuient uniquement sur un corpus ofcode exemples, et $\mathit{supervisé}$ des techniques qui utilisent un$\mathit{aligné}$ corpus de paires de code du langage naturel et des descriptions. L’objectif de cette supervision est de produire des intégrations plus similaires pour aquery et l’extrait de code souhaité correspondant. De toute évidence, il y a des choix à faire pour utiliser des techniques supervisées, et si c’est le cas, quel type de réseau et de formation utiliser pour la supervision. Cet article est le premier à évaluer systématiquement ces choix. À cette fin, nous avons assemblé des mises en œuvre de techniques de pointe pour fonctionner sur une plate-forme commune, des corpus de formation et d’évaluation. Pour explorer l’espace de conception dans networkcomplexity, nous avons également introduit un nouveau point de conception qui est une extension de supervision $\mathit{minimal} to à une technique non supervisée existante. Notre évaluation montre que : 1. l’ajout d’une supervision à une technique non supervisée existante peut améliorer les performances, mais pas nécessairement de beaucoup; 2. des réseaux simples pour la supervision peuvent être plus efficaces que des réseaux basés sur des séquences plus sophistiqués pour la recherche de code; 3. bien qu’il soit courant d’utiliser des chaînes de documents pour effectuer la supervision, il existe un écart important entre l’efficacité des chaînes de documents et un corpus de supervision plus adapté aux requêtes.
Le jeu de données d’évaluation est maintenant disponible sur arXiv:1908.09804

Sujets : Génie logiciel (cs.SE ); Calcul et langage (cs.CL ); Apprentissage automatique (cs.LG)
Citez : arXiv: 1905.03813
( ou arXiv: 1905.03813v4 pour cette version)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.