論文の概要: KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program
Repair
- arxiv url: http://arxiv.org/abs/2302.01857v3
- Date: Sun, 16 Apr 2023 20:29:38 GMT
- ステータス: 処理完了
- システム内更新日: 2023-04-18 21:13:07.588773
- Title: KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program
Repair
- Title(参考訳): KNOD: 自動プログラム修復のためのドメイン知識蒸留木デコーダ
- Authors: Nan Jiang, Thibaud Lutellier, Yiling Lou, Lin Tan, Dan Goldwasser, and
Xiangyu Zhang
- Abstract要約: APR(Automated Program repair)は、バグ修正プログラム用のパッチを自動生成することで、ソフトウェアの信頼性を向上させる。
最近のAPR技術は、ディープラーニング(DL)を利用して、既存のパッチやコードコーパスからパッチを生成するためのモデルを構築する。
本稿では,パッチ生成を直接的かつ包括的にガイドするために,ドメイン知識を取り入れたDLベースのAPRアプローチを提案する。
- 参考スコア(独自算出の注目度): 33.04645845117822
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Automated Program Repair (APR) improves software reliability by generating
patches for a buggy program automatically. Recent APR techniques leverage deep
learning (DL) to build models to learn to generate patches from existing
patches and code corpora. While promising, DL-based APR techniques suffer from
the abundant syntactically or semantically incorrect patches in the patch
space. These patches often disobey the syntactic and semantic domain knowledge
of source code and thus cannot be the correct patches to fix a bug.
We propose a DL-based APR approach KNOD, which incorporates domain knowledge
to guide patch generation in a direct and comprehensive way. KNOD has two major
novelties, including (1) a novel three-stage tree decoder, which directly
generates Abstract Syntax Trees of patched code according to the inherent tree
structure, and (2) a novel domain-rule distillation, which leverages syntactic
and semantic rules and teacher-student distributions to explicitly inject the
domain knowledge into the decoding procedure during both the training and
inference phases.
We evaluate KNOD on three widely-used benchmarks. KNOD fixes 72 bugs on the
Defects4J v1.2, 25 bugs on the QuixBugs, and 50 bugs on the additional
Defects4J v2.0 benchmarks, outperforming all existing APR tools.
- Abstract(参考訳): APR(Automated Program repair)は、バグ修正プログラム用のパッチを自動生成することで、ソフトウェアの信頼性を向上させる。
最近のAPR技術は、ディープラーニング(DL)を利用して、既存のパッチやコードコーパスからパッチを生成するためのモデルを構築する。
有望ではあるが、DLベースのAPR技術は、パッチ空間の構文的にも意味的にも不正確なパッチに悩まされている。
これらのパッチは、しばしばソースコードの構文的および意味的なドメイン知識に反するので、バグを修正するための正しいパッチにはならない。
我々は、ドメイン知識を取り入れたDLベースのAPRアプローチKNODを提案し、パッチ生成を直接的かつ包括的にガイドする。
KNOD には,(1) 固有の木構造に従ってパッチされたコードの抽象構文木を直接生成する新しい3段階木デコーダ,(2) 統語的・意味論的ルールと教師-学生分布を活用して,訓練と推論の段階でドメイン知識をデコード手順に明示的に注入する新規ドメインルール蒸留という2つの特徴がある。
広範に使用されている3つのベンチマークでKNODを評価する。
KNODはDefects4J v1.2の72のバグ、QuixBugsの25のバグ、Defects4J v2.0ベンチマークの50のバグを修正し、既存のAPRツールを上回っている。
関連論文リスト
- Train Till You Drop: Towards Stable and Robust Source-free Unsupervised 3D Domain Adaptation [62.889835139583965]
本研究では,3次元セマンティックセグメンテーションのための非教師なし領域適応(SFUDA)の問題に取り組む。
ソースデータにアクセスすることなく、ラベルのないターゲットドメインでドメイン適応を実行する。
既存のSFUDAアプローチの一般的な問題は、あるトレーニング時間後にパフォーマンスが低下することです。
論文 参考訳(メタデータ) (2024-09-06T17:13:14Z) - Hybrid Automated Program Repair by Combining Large Language Models and Program Analysis [12.7034916462208]
自動プログラム修復(APR)は、人間の開発者のバグ修正プロセスを合理化する可能性から、大きな注目を集めている。
本稿ではGIANTREPAIRと呼ばれる革新的なAPR手法を紹介する。
この知見に基づいて、GIANTREPAIRはまず、LLM生成したパッチからパッチスケルトンを構築して、パッチ空間を閉じ込め、その後、特定のプログラムに適した高品質なパッチを生成する。
論文 参考訳(メタデータ) (2024-06-03T05:05:12Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - Patch-CLIP: A Patch-Text Pre-Trained Model [6.838615442552715]
パッチ表現学習は、ソフトウェア生成における機械学習の機能を活用するために必要な研究の方向性として登場した。
紹介する。
Theweak-CLIPは、パッチと自然言語テキストのための新しい事前トレーニングフレームワークである。
私たちはそれを示します。
Theweak-CLIPは、新しい最先端のパフォーマンスを設定し、BLEU、ROUGE-L、METEOR、リコールといったメトリクスにおける最先端のパフォーマンスを一貫して上回る。
論文 参考訳(メタデータ) (2023-10-19T14:00:19Z) - 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) - Structured Dialogue Discourse Parsing [79.37200787463917]
談話解析は、多人数会話の内部構造を明らかにすることを目的としている。
本稿では,符号化と復号化という2つの観点から,従来の作業を改善する原理的手法を提案する。
実験の結果,本手法は,STACでは2.3,Mollweniでは1.5,先行モデルでは2.3を上回った。
論文 参考訳(メタデータ) (2023-06-26T22:51:01Z) - Self-Supervised Point Cloud Representation Learning with Occlusion
Auto-Encoder [63.77257588569852]
本稿では,3D Occlusion Auto-Encoder(3D-OAE)を提案する。
私たちのキーとなるアイデアは、入力ポイントクラウドのローカルパッチをランダムに排除し、隠されたパッチを復元することで監督を確立することです。
従来の手法とは対照的に、我々の3D-OAEは大量のパッチを除去し、少数の可視パッチでしか予測できない。
論文 参考訳(メタデータ) (2022-03-26T14:06:29Z) - A Syntax-Guided Edit Decoder for Neural Program Repair [14.978841897815434]
プレースホルダ生成機能を備えた構文誘導編集デコーダであるRecoderを提案する。
Defects4J v1.2の395のバグ、Defects4J v2.0の420のバグ、IntroClassJavaの297のバグ、QuixBugsの40のバグについて、Recoderを評価する実験を行います。
以上の結果からRecoderはDefects4J v1.2の53のバグを修復し,従来よりも26.2% (11のバグ)の改善を実現した。
論文 参考訳(メタデータ) (2021-06-15T16:01:51Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。