Förutsäga programegenskaper såsom namn eller uttryck typer har ett brett spektrum av applikationer. Det kan underlätta uppgiften att programmera och öka programmerarens produktivitet. En stor utmaning när man lär sig från program är hur man representerar program på ett sätt som underlättar ett effektivt lärande. Vi presenterar en allmän vägbaserad representation för lärande från program. Vår representation är rent syntaktisk och extraheras automatiskt. Huvudidén är att representera ett program som använder vägar i sitt abstrakta syntaxträd (AST). Detta gör det möjligt för en inlärningsmodell att utnyttja kodens strukturerade karaktär snarare än att behandla den som en platt sekvens av polletter. Vi visar att denna representation är allmän och kan: (i) täcka olika förutsägelser uppgifter, (ii) driva olika lärande algoritmer (för både generativa och diskriminerande modeller), och (iii) arbeta över olika programmeringsspråk. Vi utvärderar vårt förhållningssätt till uppgifterna att förutsäga variabla namn, metodnamn och fullständiga typer. Vi använder vår representation för att driva både CRF-baserad och word2vek-baserad inlärning, för program med fyra språk: JavaScript, Java, Python och C#. Vår utvärdering visar att vår strategi ger bättre resultat än uppgiftsspecifika handgjorda representationer över olika uppgifter och programmeringsspråk.
Programegenskaper Förutsägelse Alon. m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m. REF utvecklade en teknik för att förutsäga programegenskaper för t.ex. Variabla namn och metodnamn på både dynamiska och statiska programmeringsspråk.
A general path-based representation for predicting program properties
{'venue': 'PLDI 2018', 'journal': None, 'mag_field_of_study': ['Computer Science']}