Programöversättning är ett viktigt verktyg för att migrera äldre kod på ett språk till ett ekosystem byggt på ett annat språk. I detta arbete är vi de första att använda djupa neurala nätverk för att ta itu med detta problem. Vi observerar att programöversättning är en modulär procedur, där ett underträd av källträdet översätts till motsvarande delträd i varje steg. För att fånga denna intuition, vi utforma ett träd-till-träd neurala nätverk för att översätta ett källträd till ett mål ett. Samtidigt utvecklar vi en uppmärksamhetsmekanism för träd-till-träd-modellen, så att när avkodaren expanderar en icke-terminal i målträdet, lokaliserar uppmärksamhetsmekanismen motsvarande underträd i källträdet för att vägleda utbyggnaden av avkodaren. Vi utvärderar programöversättningsförmågan hos vår träd-till-träd modell mot flera state-of-the-art metoder. Jämfört med andra neurala översättningsmodeller, observerar vi att vår strategi är konsekvent bättre än baslinjerna med en marginal på upp till 15 poäng. Vidare kan vår strategi förbättra de tidigare toppmoderna programöversättningar med en marginal på 20 punkter om översättning av verkliga projekt.
Chen och Al. använda träd-till-träd nätverk för programöversättning REF.
Tree-to-tree Neural Networks for Program Translation
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}