論文の概要: Fixing Rust Compilation Errors using LLMs
- arxiv url: http://arxiv.org/abs/2308.05177v1
- Date: Wed, 9 Aug 2023 18:30:27 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 14:51:31.758969
- Title: Fixing Rust Compilation Errors using LLMs
- Title(参考訳): LLMを使用したRustコンパイルエラーの修正
- Authors: Pantazis Deligiannis, Akash Lal, Nikita Mehrotra, Aseem Rastogi
- Abstract要約: Rustプログラミング言語は、C/C++のような従来の安全でない代替言語よりも、低レベルのシステムプログラミング言語に実行可能な選択肢として、自らを確立している。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
- 参考スコア(独自算出の注目度): 2.1781086368581932
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The Rust programming language, with its safety guarantees, has established
itself as a viable choice for low-level systems programming language over the
traditional, unsafe alternatives like C/C++. These guarantees come from a
strong ownership-based type system, as well as primitive support for features
like closures, pattern matching, etc., that make the code more concise and
amenable to reasoning. These unique Rust features also pose a steep learning
curve for programmers.
This paper presents a tool called RustAssistant that leverages the emergent
capabilities of Large Language Models (LLMs) to automatically suggest fixes for
Rust compilation errors. RustAssistant uses a careful combination of prompting
techniques as well as iteration with an LLM to deliver high accuracy of fixes.
RustAssistant is able to achieve an impressive peak accuracy of roughly 74% on
real-world compilation errors in popular open-source Rust repositories. We plan
to release our dataset of Rust compilation errors to enable further research.
- Abstract(参考訳): rustプログラミング言語は、安全性保証とともに、c/c++のような従来の安全でない代替言語よりも低レベルのシステムプログラミング言語にとって実行可能な選択肢として確立された。
これらの保証は、強力なオーナシップベースの型システムとクロージャやパターンマッチングなどの機能に対するプリミティブサポートから生まれており、コードがより簡潔で推論に適している。
これらのユニークなRust機能は、プログラマにとって急な学習曲線でもある。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
rust assistantでは、プロンプトテクニックとllmによるイテレーションを慎重に組み合わせて、修正の精度を高めている。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
さらなる研究を可能にするために、Rustコンパイルエラーのデータセットをリリースする予定です。
関連論文リスト
- Translating C To Rust: Lessons from a User Study [12.49361031696427]
Rustは、未使用のCプログラムが楽しむことのない保証として、プログラムの完全なメモリ安全性を提供することを目指している。
我々は,現実世界のCプログラムをRustに変換するよう人間に求めるユーザスタディについて報告する。
私たちの参加者は安全なRust翻訳を作成できますが、最先端の自動ツールではそうできません。
論文 参考訳(メタデータ) (2024-11-21T14:37:05Z) - Context-aware Code Segmentation for C-to-Rust Translation using Large Language Models [1.8416014644193066]
大きな言語モデル(LLM)は、ルールベースのメソッドよりも自然で安全なコードを生成することで、この翻訳を自動化することを約束している。
大規模Cコードをコンパイル可能なRustコードに変換する際の成功率を改善するLLMベースの翻訳方式を提案する。
4キロのコードを含む20のベンチマークCプログラムの実験では、すべてのプログラムをコンパイル可能なRustコードに変換することに成功した。
論文 参考訳(メタデータ) (2024-09-16T17:52:36Z) - Investigating the Transferability of Code Repair for Low-Resource Programming Languages [57.62712191540067]
大規模言語モデル(LLM)は、コード生成タスクにおいて顕著なパフォーマンスを示している。
近年の作業は、連鎖推論や蒸留といった現代的な技術を統合することで、コード修復のプロセスを強化している。
高低資源言語と低低資源言語の両方でコード修復を蒸留する利点について検討する。
論文 参考訳(メタデータ) (2024-06-21T05:05:39Z) - VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners [6.824327908701066]
Rustはメモリ安全性と低レベルのコントロールを組み合わせたプログラミング言語で、Cライクなパフォーマンスを提供する。
既存の作業はルールベースと大規模言語モデル(LLM)という2つのカテゴリに分類される。
私たちは、正式な正確性を保証する形で、可読性のあるRustトランスパイルを生成するツールであるVERTを紹介します。
論文 参考訳(メタデータ) (2024-04-29T16:45:03Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは外部機能をサポートしておらず、Rustエコシステムの中心に重要な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - Demystifying Compiler Unstable Feature Usage and Impacts in the Rust
Ecosystem [6.742722083947134]
Rustコンパイラは、コンパイラ機能、構文、標準ライブラリのサポートを拡張するために、Rust不安定機能(RUF)を導入した。
RUFは削除され、依存パッケージにコンパイルエラーが導入される。
我々の調査によると、Rustエコシステムは1000種類のRUFを使用しており、少なくともパッケージバージョンの44%はRUFの影響を受けている。
広範囲にわたるRUFの影響を軽減するため, RUFコンパイル障害回復ツールの設計と実装を行う。
論文 参考訳(メタデータ) (2023-10-26T06:43:25Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Lexically Aware Semi-Supervised Learning for OCR Post-Correction [90.54336622024299]
世界中の多くの言語における既存の言語データの多くは、非デジタル化された書籍や文書に閉じ込められている。
従来の研究は、あまり良くない言語を認識するためのニューラル・ポスト・コレクション法の有用性を実証してきた。
そこで本研究では,生画像を利用した半教師付き学習手法を提案する。
論文 参考訳(メタデータ) (2021-11-04T04:39:02Z) - LM-Critic: Language Models for Unsupervised Grammatical Error Correction [128.9174409251852]
文を文法的に判断する LM-Critic の定義において,事前訓練された言語モデル (LM) の活用法を示す。
このLM-Critic と BIFI と、ラベルなし文の集合を併用して、現実的な非文法的/文法的ペアをブートストラップし、修正子を訓練する。
論文 参考訳(メタデータ) (2021-09-14T17:06:43Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。