Catch up on the latest AI articles

Bringing The Idea Of Machine Translation Into A Programming Language! Unsupervised Code Porting Is Now Possible

Bringing The Idea Of Machine Translation Into A Programming Language! Unsupervised Code Porting Is Now Possible

Deep Learning

3つの要点

✔️ プログラミング言語間の翻訳を自然言語と同じ考えで実現
✔️ プログラミング言語の知識を必要とせずに、多くの言語への拡張が可能
✔️ 教師無しでプログラミング言語間の翻訳を実現
 

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)

はじめに

コードの移植性を高める事を目的として、昔からトランスコンパイラの開発がされて来ました。これらは高級言語から低水準言語(機械語、アセンブリ言語)にコードを変換することで行われていました。

現代のトランスコンパイラーは、ソースコードから構文木を構築し、ルールベースの手法を適用して変換を行っています。変換ルールを設計するためには、両方の言語に熟達した高度な知識が必要です。さらに、変数の型が静的な言語(java等)と動的な言語(python等)の間での変換には、変数の型を推測する必要があり、それは必ずしも簡単ではありません。

提案手法の基礎にある考えは、コード変換タスクが通常の言語翻訳と酷似していると言う事です。 今回紹介する論文では、GitHubのソースコードを利用して提案モデルTransCoderをトレーニングし、教師なし機械翻訳に最近のアプローチを適用します。

提案手法はシンプルであり、プログラミング言語に関する専門知識を必要とせず、ほとんどのプログラミング言語に簡単に拡張できます。

To read more,

Please register with AI-SCHOLAR.

Sign up for free in 1 minute

OR
Tak avatar
Ph. D (informatics)

If you have any suggestions for improvement of the content of the article,
please contact the AI-SCHOLAR editorial team through the contact form.

Contact Us