doneren aan arXiv
Title: When Deep Learning Met Code Search
Download PDF
Abstract: er zijn meerdere recente voorstellen geweest over het gebruik van Deep neural networks voor het zoeken van codes met behulp van natuurlijke taal. Veelvoorkomend in deze voorstellen is het idee van $\mathit{embedding}$ code en natural language queries, in echte vectoren en vervolgens met behulp van vectorafstand om de semantische correlatie tussen Codeen de query te benaderen. Er bestaan meerdere benaderingen voor het leren van deze inbeddingen, waaronder $ \ mathit{unsupervised} $ techniques, die alleen gebaseerd zijn op een corpus van code voorbeelden, en $\mathit{supervised}$ techniques, die gebruik maken van een$\mathit{aligned}$ corpus van gepaarde code en natuurlijke taalbeschrijvingen. Het doel van deze supervisie is om inbeddingen te produceren die meer op elkaar lijken voor aquery en het bijbehorende gewenste codefragment. Het is duidelijk dat er keuzes zijn over de vraag of er überhaupt toezichtstechnieken moeten worden gebruikt, en zo ja, wat voor soort netwerk en opleiding er voor toezicht moet worden gebruikt. Dit document is het eerste dat deze keuzes systematisch evalueert. Daartoe hebben we de implementatie van state-of-the-art technieken samengebracht om te werken op een gemeenschappelijk platform,training en evaluatie corpora. Om de ontwerpruimte in networkcomplexity te verkennen, introduceerden we ook een nieuw ontwerppunt dat een $\mathit{minimal}$supervision extensie is voor een bestaande techniek zonder toezicht. Uit onze evaluatie blijkt dat: 1. het toevoegen van toezicht aan een bestaande techniek zonder toezicht kan de prestaties verbeteren, maar niet noodzakelijkerwijs met veel; 2. eenvoudige netwerken voor supervision kan effectiever zijn dan meer geavanceerde sequence-based netwerken voor code zoeken; 3. hoewel het gebruikelijk is om docstrings te gebruiken om toezicht uit te voeren, is er een aanzienlijke kloof tussen de effectiviteit van docstrings en een meer query-geschikte toezichtcorpus.
de evaluatiedataset is nu beschikbaar op arXiv:1908.09804
onderwerpen: | Software Engineering (cs.SE); berekening en taal (cs.CL); Machine Learning (cs.LG) |
Cite as: | arXiv:1905.03813 |
(of arXiv: 1905. 03813v4 voor deze versie) |