論文の概要: A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models
- arxiv url: http://arxiv.org/abs/2401.07994v1
- Date: Mon, 15 Jan 2024 22:36:31 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-17 15:51:20.349043
- Title: A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models
- Title(参考訳): 大規模言語モデルを用いたラウンドトリップ翻訳によるプログラムの自動修復手法
- Authors: Fernando Vallecillos Ruiz and Anastasiia Grishina and Max Hort and
Leon Moonen
- Abstract要約: 研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
- 参考スコア(独自算出の注目度): 50.86686630756207
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Research shows that grammatical mistakes in a sentence can be corrected by
translating it to another language and back using neural machine translation
with language models. We investigate whether this correction capability of
Large Language Models (LLMs) extends to Automatic Program Repair (APR). Current
generative models for APR are pre-trained on source code and fine-tuned for
repair. This paper proposes bypassing the fine-tuning step and using Round-Trip
Translation (RTT): translation of code from one programming language to another
programming or natural language, and back. We hypothesize that RTT with LLMs
restores the most commonly seen patterns in code during pre-training, i.e.,
performs a regression toward the mean, which removes bugs as they are a form of
noise w.r.t. the more frequent, natural, bug-free code in the training data. To
test this hypothesis, we employ eight recent LLMs pre-trained on code,
including the latest GPT versions, and four common program repair benchmarks in
Java. We find that RTT with English as an intermediate language repaired 101 of
164 bugs with GPT-4 on the HumanEval-Java dataset. Moreover, 46 of these are
unique bugs that are not repaired by other LLMs fine-tuned for APR. Our
findings highlight the viability of round-trip translation with LLMs as a
technique for automated program repair and its potential for research in
software engineering.
Keywords: automated program repair, large language model, machine translation
- Abstract(参考訳): 研究により、文中の文法上の誤りは、他の言語に翻訳し、言語モデルを用いたニューラルマシン翻訳を使って修正できることが示された。
大規模言語モデル(llms)の修正能力が自動プログラム修復(apr)に拡張されるかどうかを検討する。
現在のAPR生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,微調整ステップを回避し,ラウンドトリップ変換(rtt)を用いて,あるプログラミング言語から別のプログラミング言語や自然言語へのコード変換を行う方法を提案する。
LLMを用いたRTTは、事前トレーニング中に最もよく見られるパターンを復元する、すなわち、トレーニングデータの中でより頻繁に、自然で、バグのないコードであるノイズの形で、バグを除去する平均に対する回帰を実行する、という仮説を立てる。
この仮説をテストするために、最新のGPTバージョンを含むコードで事前訓練された8つのLLMと、Javaの4つの一般的なプログラム修復ベンチマークを使用します。
中間言語として英語を用いたRTTでは,HumanEval-Javaデータセット上でGPT-4を用いて164のバグのうち101が修正された。
さらに46のバグは、APRのために微調整された他のLLMによって修正されていないユニークなバグである。
本研究は,自動プログラム修復技術としてのllmsを用いた往復翻訳の実現可能性とソフトウェア工学研究への可能性に注目した。
キーワード:自動プログラム修復、大規模言語モデル、機械翻訳
関連論文リスト
- Revisiting Unnaturalness for Automated Program Repair in the Era of Large Language Models [9.454475517867817]
本研究では,テンプレートベースの補修技術の効率化を目的としたパッチ自然度測定,エントロピーデルタを提案する。
提案手法は,最先端の機械学習ツールよりも効果的に正パッチをランク付けできる。
論文 参考訳(メタデータ) (2024-04-23T17:12:45Z) - T5APR: Empowering Automated Program Repair across Languages through Checkpoint Ensemble [2.7036595757881323]
本稿では,T5APRを提案する。T5APRは,複数のプログラミング言語にまたがるバグ修正のための統一的なソリューションを提供するニューラルプログラム修復手法である。
T5APRは1,985のバグを正しく修正する。
論文 参考訳(メタデータ) (2023-09-27T15:54:08Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - Enhancing Automated Program Repair through Fine-tuning and Prompt
Engineering [2.3826139428423576]
シーケンス・ツー・シーケンスのモデルは、十分に大規模なデータセットでトレーニングされた時に、誤ったプログラムを正しいプログラムに変換するために使われてきた。
いくつかの最近の研究は、コードレビューがプログラムの修復をさらに改善できるという強い実証的な証拠を示した。
PLとNLの本質的な知識が,プログラムの自動修復の改善に有効かどうかを検討する。
論文 参考訳(メタデータ) (2023-04-16T17:29:51Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - Conversational Automated Program Repair [10.071615423169902]
本稿では,パッチ生成と検証を対話的に交互に行うプログラム修復のための新しいパラダイムを提案する。
我々は,大規模な事前学習型言語モデルの長期的コンテキストウインドウを活用して,以前の不正なパッチの生成を回避するだけでなく,検証フィードバックを取り入れて,テスト対象のプログラムの意味をモデルが理解できるようにする。
論文 参考訳(メタデータ) (2023-01-30T19:22:36Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - ENCORE: Ensemble Learning using Convolution Neural Machine Translation for Automatic Program Repair [7.026028136636735]
本稿では,新しいG&Vプログラム修復技術であるENCOREを提案する。
畳み込みニューラルネットワーク翻訳(NMT)モデルでアンサンブル学習を使用して、複数のプログラミング言語のバグを自動的に修正する。
ENCOREは4つの人気のあるプログラミング言語に適用された最初のG&V修復技術である。
論文 参考訳(メタデータ) (2019-06-20T15:25:16Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。