Bringing The Idea Of Machine Translation Into A Programming Language! Unsupervised Code Porting Is Now Possible
3 main points
✔️ Translation between programming languages is based on the same idea as natural languages
✔️ It can be extended to many languages without requiring knowledge of programming languages
✔️ It enables unsupervised translation between programming languages
Unsupervised Translation of Programming Languages
written by Marie-Anne Lachaux,Baptiste Roziere,Lowik Chanussot,Guillaume Lample
(Submitted on 5 Jun 2020 (v1), last revised 5 Aug 2020 (this version, v2))
Comments: Published by arXiv.
Subjects: Computation and Language (cs.CL); Programming Languages (cs.PL)
Trans compilers have been developed for a long time with the goal of increasing code portability. These were done by converting code from high-level languages to low-level languages (machine language, assembly language).
Modern trans compilers build syntactic trees from source code and apply rule-based methods to perform the conversions. Designing transformation rules requires a high degree of proficiency in both languages. Furthermore, converting between languages where the types of variables are static (e.g., java) and dynamic (e.g., python) requires guessing the types of the variables, which is not always easy.
The idea underlying the proposed method is that The code conversion task is very similar to normal language translation that is to say. The paper we present here trains the proposed model TransCoder using GitHub source code to apply a recent approach to unsupervised machine translation.
The proposed methodology is simple, does not require any programming language expertise, and can be easily extended to most programming languages.
To read more,
Please register with AI-SCHOLAR.OR
Categories related to this article