LLMでプラグラム言語間の翻訳を行うプロンプト手法 C、Go→Rustのケーススタディ結果

   
★AIDB会員限定Discordを開設いたしました! ログインの上、マイページをご覧ください。

★企業と人材のマッチングサービスを準備中です。アンケートのご協力をお願いいたします!↓

LLMを活用して実世界のコードを異なる言語に変換する研究をMPI-SWS、ブリストル大学、ウィーン工科大学、そしてAmazon Web Servicesの研究者たちが共同で行っています。研究者らは、実世界のオープンソースプロジェクトから抽出されたコードを対象に、5つの最先端のLLMの性能を評価しました。変換精度を向上させるためのフィードバック戦略(プロンプトの工夫)についても知見が得られています。


AIDBの全記事が読み放題のプレミアム会員登録はこちらから↓

参照論文情報

  • タイトル:Towards Translating Real-World Code with LLMs: A Study of Translating to Rust
  • 著者:Hasan Ferit Eniser, Hanliang Zhang, Cristina David, Meng Wang, Maria Christakis, Brandon Paulsen, Joey Dodds, Daniel Kroening
  • 所属:MPI-SWS, University of Bristol, TU Wien, Amazon Web Services

背景

あるプログラミング言語で書かれたコードを別の言語に変換するタスク、つまりプログラム変換においてもLLMが有望視されています。例えばC言語やGo言語など従来の言語で書かれたレガシーコードを、Rust言語のような安全性の高い現代的な言語に変換することへの期待が高まっています。

LLMを用いたプログラム変換に関する先行研究の多くは、競技プログラミングのウェブサイトや教育用のウェブサイト、あるいは手作りのコーディング問題から抽出したコードを対象としており、実用性が十分とは言えません。ベンチマークはプリミティブなデータ型のみを使用する単一の関数であるのに対し、実世界のコードには多くの関数やユーザー定義のデータ型(構造体など)が含まれています。

そこで今回研究者らは、現実のコードをRustコードへの変換を生成できるエンドツーエンドのコード変換ツールを開発し、実験結果をまとめました。

本記事を読むにはAIDBのアカウントが必要です。


※ログイン/初回登録後、下記ボタンを押してください。







■サポートのお願い
AIDBを便利だと思っていただけた方に、任意の金額でサポートしていただけますと幸いです。






業界/カテゴリー

PAGE TOP