Deskriptiva namn är en viktig del av läsbar och därmed underhållsbar kod. Nyligen gjorda framsteg på automatiskt föreslå namn för lokala variabler tantaliserar med utsikten att replikera denna framgång med metod och klassnamn. Det är dock mycket svårare att ange namn på metoder och klasser. Detta beror på att bra metod- och klassnamn måste vara funktionellt beskrivande, men att föreslå sådana namn kräver att modellen går utöver det lokala sammanhanget. Vi introducerar en neural probabilistisk språkmodell för källkod som är speciellt utformad för metoden namnge problem. Vår modell lär sig vilka namn som är semantiskt lika genom att tilldela dem till platser, som kallas inbäddningar, i ett högdimensionellt kontinuerligt utrymme, på ett sådant sätt att namn med liknande inbäddningar tenderar att användas i liknande sammanhang. Dessa inbäddningar verkar innehålla semantisk information om polletter, även om de endast lärs av statistiska samtidiga förekomster av polletter. Dessutom introducerar vi en variant av vår modell som, såvitt vi vet, är den första som kan föreslå neologism, namn som inte har dykt upp i tränings corpus. Vi får toppmoderna resultat om metod, klass, och även enklare variabel namngivning uppgifter. Mer allmänt har de kontinuerliga inbäddningar som vi lär oss av vår modell potential för bred tillämpning inom programvaruteknik.
REF skapar modeller för att föreslå metod- och klassnamn genom att inbädda dem i ett kontinuerligt utrymme med hög dimension.
Suggesting accurate method and class names
{'venue': 'ESEC/FSE 2015', 'journal': None, 'mag_field_of_study': ['Computer Science']}