Inlärningsuppgifter på källkod (dvs. formella språk) har beaktats nyligen, men de flesta arbeten har försökt överföra naturliga språkmetoder och utnyttjar inte de unika möjligheter som kodens kända syntax erbjuder. Till exempel, långdistans beroenden framkallas genom att använda samma variabel eller funktion på avlägsna platser beaktas ofta inte. Vi föreslår att använda grafer för att representera både den syntaktiska och semantiska strukturen av kod och använda graf-baserade djupt lärande metoder för att lära sig att resonera över programstrukturer. I detta arbete presenterar vi hur man konstruerar grafer från källkod och hur man skalar Gated Graph Neural Networks utbildning till så stora grafer. Vi utvärderar vår metod på två uppgifter: VARNAMING, där ett nätverk försöker förutsäga namnet på en variabel med tanke på dess användning, och VARMISSUSE, där nätverket lär sig att resonera om att välja rätt variabel som ska användas på en given programplats. Vår jämförelse med metoder som använder mindre strukturerade program representationer visar fördelarna med att modellera känd struktur, och föreslår att våra modeller lär sig att härleda meningsfulla namn och att lösa uppgiften VARMISSUSE i många fall. Dessutom visade våra tester att VARMISSUSE identifierar ett antal fel i mogna öppen källkodsprojekt.
GGNNs REF bygga beroende grafer från ASTs och använda graf neurala nätverk för att koda koden beroenden.
Learning to Represent Programs with Graphs
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science', 'Mathematics']}