論文の概要: A Syntax-Guided Edit Decoder for Neural Program Repair
- arxiv url: http://arxiv.org/abs/2106.08253v1
- Date: Tue, 15 Jun 2021 16:01:51 GMT
- ステータス: 処理完了
- システム内更新日: 2021-06-16 19:23:52.273109
- Title: A Syntax-Guided Edit Decoder for Neural Program Repair
- Title(参考訳): ニューラルプログラム修復のための構文誘導編集デコーダ
- Authors: Qihao Zhu, Zeyu Sun, Yuan-an Xiao, Wenjie Zhang, Kang Yuan, Yingfei
Xiong, Lu Zhang
- Abstract要約: プレースホルダ生成機能を備えた構文誘導編集デコーダであるRecoderを提案する。
Defects4J v1.2の395のバグ、Defects4J v2.0の420のバグ、IntroClassJavaの297のバグ、QuixBugsの40のバグについて、Recoderを評価する実験を行います。
以上の結果からRecoderはDefects4J v1.2の53のバグを修復し,従来よりも26.2% (11のバグ)の改善を実現した。
- 参考スコア(独自算出の注目度): 14.978841897815434
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated Program Repair (APR) helps improve the efficiency of software
development and maintenance. Recent APR techniques use deep learning,
particularly the encoder-decoder architecture, to generate patches.
Though existing DL-based APR approaches have proposed different encoder
architectures, the decoder remains to be the standard one, which generates a
sequence of tokens one by one to replace the faulty statement.
This decoder has multiple limitations: 1) allowing to generate syntactically
incorrect programs, 2) inefficiently representing small edits, and 3) not being
able to generate project-specific identifiers.
In this paper, we propose Recoder, a syntax-guided edit decoder with
placeholder generation. Recoder is novel in multiple aspects: 1) Recoder
generates edits rather than modified code, allowing efficient representation of
small edits; 2) Recoder is syntax-guided, with the novel provider/decider
architecture to ensure the syntactic correctness of the patched program and
accurate generation; 3) Recoder generates placeholders that could be
instantiated as project-specific identifiers later.
We conduct experiments to evaluate Recoder on 395 bugs from Defects4J v1.2,
420 additional bugs from Defects4J v2.0, 297 bugs from IntroClassJava and 40
bugs from QuixBugs. Our results show that Recoder repairs 53 bugs on Defects4J
v1.2, which achieves 26.2% (11 bugs) improvement over the previous
state-of-the-art approach for single-hunk bugs (TBar). Importantly, to our
knowledge, Recoder is the first DL-based APR approach that has outperformed the
traditional APR approaches on this benchmark.
- Abstract(参考訳): 自動プログラム修復(APR)は、ソフトウェア開発とメンテナンスの効率を改善するのに役立つ。
最近のAPR技術では、ディープラーニング、特にエンコーダ・デコーダアーキテクチャを使ってパッチを生成する。
既存のDLベースのAPRアプローチでは、異なるエンコーダアーキテクチャが提案されているが、デコーダは標準であり、欠陥文を置き換えるためにトークンのシーケンスをひとつずつ生成する。
このデコーダには複数の制限がある: 1)構文的に不正確なプログラムを生成することを可能にすること、2)小さな編集を非効率に表現すること、3)プロジェクト固有の識別子を生成できないこと。
本稿では,プレースホルダ生成を伴う構文誘導編集デコーダであるRecoderを提案する。
Recoderは、修正されたコードではなく編集を生成し、小さな編集の効率的な表現を可能にする。 2) Recoderは、パッチされたプログラムの構文的正しさと正確な生成を保証するために、新しいプロバイダ/決定器アーキテクチャで構文誘導される。
Defects4J v1.2の395のバグ、Defects4J v2.0の420のバグ、IntroClassJavaの297のバグ、QuixBugsの40のバグについてRecoderを評価する実験を行った。
その結果、recoderは欠陥4j v1.2の53のバグを修復し、単一ハンクバグ(tbar)に対する以前の最先端アプローチよりも26.2%(11のバグ)の改善を達成した。
私たちの知る限りでは、RecoderはDLベースのAPRアプローチとしては初めてのもので、このベンチマークにおける従来のAPRアプローチよりも優れています。
関連論文リスト
- A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - 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) - Decoder-Only or Encoder-Decoder? Interpreting Language Model as a
Regularized Encoder-Decoder [75.03283861464365]
seq2seqタスクは、与えられた入力ソースシーケンスに基づいてターゲットシーケンスを生成することを目的としている。
伝統的に、seq2seqタスクのほとんどはエンコーダによって解決され、ソースシーケンスとデコーダをエンコードしてターゲットテキストを生成する。
最近、デコーダのみの言語モデルをseq2seqタスクに直接適用する、多くの新しいアプローチが出現しました。
論文 参考訳(メタデータ) (2023-04-08T15:44:29Z) - KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program
Repair [33.04645845117822]
APR(Automated Program repair)は、バグ修正プログラム用のパッチを自動生成することで、ソフトウェアの信頼性を向上させる。
最近のAPR技術は、ディープラーニング(DL)を利用して、既存のパッチやコードコーパスからパッチを生成するためのモデルを構築する。
本稿では,パッチ生成を直接的かつ包括的にガイドするために,ドメイン知識を取り入れたDLベースのAPRアプローチを提案する。
論文 参考訳(メタデータ) (2023-02-03T17:02:56Z) - ASR Error Correction with Constrained Decoding on Operation Prediction [8.701142327932484]
本稿では,修正操作の予測を利用したASR誤り訂正手法を提案する。
3つの公開データセットの実験では、デコードプロセスの遅延を低減するための提案手法の有効性が示されている。
論文 参考訳(メタデータ) (2022-08-09T09:59:30Z) - Diffsound: Discrete Diffusion Model for Text-to-sound Generation [78.4128796899781]
本稿では,テキストエンコーダ,ベクトル量子化変分自動符号化(VQ-VAE),デコーダ,ボコーダからなる新しいテキスト音声生成フレームワークを提案する。
フレームワークは、まず、デコーダを使用して、テキストエンコーダから抽出したテキスト特徴をVQ-VAEの助けを借りてメルスペクトルに転送し、次いで、ボコーダを使用して生成されたメルスペクトルを波形に変換する。
論文 参考訳(メタデータ) (2022-07-20T15:41:47Z) - Pre-Training Transformer Decoder for End-to-End ASR Model with Unpaired
Speech Data [145.95460945321253]
本稿では,音響単位,すなわち擬似符号を用いたエンコーダ・デコーダネットワークのための2つの事前学習タスクを提案する。
提案したSpeech2Cは,デコーダを事前学習することなく,単語誤り率(WER)を19.2%削減できる。
論文 参考訳(メタデータ) (2022-03-31T15:33:56Z) - FastCorrect 2: Fast Error Correction on Multiple Candidates for
Automatic Speech Recognition [92.12910821300034]
本稿では,複数のASR候補を入力として取り込んだ誤り訂正モデルFastCorrect 2を提案する。
FastCorrect 2は、カスケードされた再描画と修正パイプラインよりも優れたパフォーマンスを実現している。
論文 参考訳(メタデータ) (2021-09-29T13:48:03Z) - Improving the List Decoding Version of the Cyclically Equivariant Neural
Decoder [33.63188063525036]
本稿では,BCH符号と句読点RM符号に対するリスト復号アルゴリズムの改良版を提案する。
我々の新しいデコーダはBERによって測定された場合、以前のリストデコーダよりも最大2ドル高くなる。
論文 参考訳(メタデータ) (2021-06-15T08:37:36Z) - CURE: Code-Aware Neural Machine Translation for Automatic Program Repair [11.556110575946631]
提案するCUREは,3つの新奇性を持つ新しいNMTベースのAPR手法である。
CUREは、APRタスクの前に開発者ライクなソースコードを学ぶために、大きなソフトウェア上でプログラミング言語(PL)モデルを事前にトレーニングします。
第2に、curyは、バギーコードに近いコンパイル可能なパッチとパッチに注目して、より正確な修正を見つける新しいコードアウェア検索戦略をデザインする。
論文 参考訳(メタデータ) (2021-02-26T22:30:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。