論文の概要: A Survey of Learning-based Automated Program Repair
- arxiv url: http://arxiv.org/abs/2301.03270v3
- Date: Wed, 1 Nov 2023 06:03:48 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-02 18:35:17.400541
- Title: A Survey of Learning-based Automated Program Repair
- Title(参考訳): 学習型自動プログラム修復に関する調査
- Authors: Quanjun Zhang, Chunrong Fang, Yuxiang Ma, Weisong Sun, Zhenyu Chen
- Abstract要約: 自動プログラム修復(APR)は、ソフトウェアバグを自動修正することを目的としており、ソフトウェア開発とメンテナンスにおいて重要な役割を果たす。
近年のディープラーニング(DL)の進歩により、ニューラルネットワークを活用して大規模なオープンソースコードリポジトリからバグフィックスパターンを学ぶためのAPR技術が増えている。
本稿では,学習型APRコミュニティにおける最先端研究を要約するために,体系的な調査を行う。
- 参考スコア(独自算出の注目度): 12.09968472868107
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated program repair (APR) aims to fix software bugs automatically and
plays a crucial role in software development and maintenance. With the recent
advances in deep learning (DL), an increasing number of APR techniques have
been proposed to leverage neural networks to learn bug-fixing patterns from
massive open-source code repositories. Such learning-based techniques usually
treat APR as a neural machine translation (NMT) task, where buggy code snippets
(i.e., source language) are translated into fixed code snippets (i.e., target
language) automatically. Benefiting from the powerful capability of DL to learn
hidden relationships from previous bug-fixing datasets, learning-based APR
techniques have achieved remarkable performance. In this paper, we provide a
systematic survey to summarize the current state-of-the-art research in the
learning-based APR community. We illustrate the general workflow of
learning-based APR techniques and detail the crucial components, including
fault localization, patch generation, patch ranking, patch validation, and
patch correctness phases. We then discuss the widely-adopted datasets and
evaluation metrics and outline existing empirical studies. We discuss several
critical aspects of learning-based APR techniques, such as repair domains,
industrial deployment, and the open science issue. We highlight several
practical guidelines on applying DL techniques for future APR studies, such as
exploring explainable patch generation and utilizing code features. Overall,
our paper can help researchers gain a comprehensive understanding about the
achievements of the existing learning-based APR techniques and promote the
practical application of these techniques. Our artifacts are publicly available
at \url{https://github.com/QuanjunZhang/AwesomeLearningAPR}.
- Abstract(参考訳): 自動プログラム修復(APR)は、ソフトウェアバグを自動修正することを目的としており、ソフトウェア開発とメンテナンスにおいて重要な役割を果たす。
近年のディープラーニング(DL)の進歩により、ニューラルネットワークを活用して大規模なオープンソースコードリポジトリからバグフィックスパターンを学ぶためのAPR技術が増えている。
このような学習ベースの技術は通常、APRをニューラルネットワーク翻訳(NMT)タスクとして扱い、バグの多いコードスニペット(ソースコード言語)が自動的に固定コードスニペット(ターゲット言語)に変換される。
従来のバグ修正データセットから隠れた関係を学習するDLの強力な能力から、学習ベースのAPR技術は素晴らしいパフォーマンスを実現しました。
本稿では,学習型APRコミュニティにおける最先端研究を要約する体系的な調査を行う。
学習ベースのapr手法の一般的なワークフローを説明し,障害のローカライズ,パッチ生成,パッチランキング,パッチ検証,パッチ修正フェーズなど,重要なコンポーネントを詳述する。
次に、広く採用されているデータセットと評価メトリクスを議論し、既存の実証研究の概要を概説する。
本稿では, 修復領域, 産業展開, オープンサイエンス問題など, 学習ベースAPR技術のいくつかの重要な側面について論じる。
我々は、将来のAPR研究にDL技術を適用するための実践的ガイドラインをいくつか強調する。
本稿は,既存の学習ベースAPR技術の成果を総合的に理解し,これらの手法の実践的応用を促進する上で有効である。
私たちのアーティファクトは、 \url{https://github.com/QuanjunZhang/AwesomeLearningAPR}で公開されています。
関連論文リスト
- A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback [7.742213291781287]
提案するVRpilotは,推論とパッチ検証フィードバックに基づく脆弱性修復手法である。
以上の結果から,VRpilotはCとJavaのベースライン技術よりも平均14%と7.6%の正確なパッチを生成することがわかった。
論文 参考訳(メタデータ) (2024-05-24T16:29:48Z) - A Closer Look at the Limitations of Instruction Tuning [52.587607091917214]
インストラクションチューニング(IT)は,大規模言語モデル(LLM)における知識やスキルの向上に失敗することを示す。
また、一般的なIT改善手法は、シンプルなLoRA微調整モデルよりも性能改善につながるものではないことも示している。
この結果から,事前学習した知識のみから生成した応答は,オープンソースデータセット上でITから新たな知識を学習するモデルによって,一貫した応答性能が向上することが判明した。
論文 参考訳(メタデータ) (2024-02-03T04:45:25Z) - KGA: A General Machine Unlearning Framework Based on Knowledge Gap
Alignment [51.15802100354848]
我々は,忘れやすさを誘発する一般学習フレームワークKGAを提案する。
大規模なデータセットの実験は、KGAがベースラインよりも包括的な改善をもたらすことを示している。
論文 参考訳(メタデータ) (2023-05-11T02:44:29Z) - A Survey on Automated Program Repair Techniques [19.8878105453369]
本稿では,検索ベース,制約ベース,テンプレートベース,学習ベースという4つの異なるAPRパッチ生成方式を紹介する。
本稿では,それぞれのAPRツールをレビュー・比較するための一貫した基準セットを提案し,その利点とデメリットを要約し,APR開発の現状について議論する。
論文 参考訳(メタデータ) (2023-03-31T16:28:37Z) - Read and Reap the Rewards: Learning to Play Atari with the Help of Instruction Manuals [69.76245723797368]
Read and Rewardは、Atariゲーム開発者がリリースしたマニュアルを読むことで、Atariゲーム上のRLアルゴリズムを高速化する。
各種RLアルゴリズムは,設計支援による性能向上とトレーニング速度の向上を実現している。
論文 参考訳(メタデータ) (2023-02-09T05:47:03Z) - Meta Learning for Natural Language Processing: A Survey [88.58260839196019]
ディープラーニングは自然言語処理(NLP)分野において主要な技術である。
ディープラーニングには多くのラベル付きデータが必要です。
メタ学習は、より良いアルゴリズムを学ぶためのアプローチを研究する機械学習の分野である。
論文 参考訳(メタデータ) (2022-05-03T13:58:38Z) - Neural Program Repair: Systems, Challenges and Solutions [20.776565589340265]
自動プログラム修復(APR)は、ソースコードのバグを自動的に修正することを目的としている。
近年,ニューラルプログラム修復(NPR)研究が盛んである。
NPRアプローチは、仕様を必要としないため、適用性に大きな利点があります。
論文 参考訳(メタデータ) (2022-02-22T12:56:31Z) - 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) - A Systematic Literature Review on the Use of Deep Learning in Software
Engineering Research [22.21817722054742]
ソフトウェア開発タスクを自動化するために、ソフトウェア工学(SE)研究者が採用するテクニックのセットが、ディープラーニング(DL)の概念に根ざしている。
本稿では,SE & DLの交差点における研究の体系的な文献レビューを行う。
我々は、機械学習技術の特定の問題領域への適用を規定する一連の原則である学習の構成要素を中心に分析を行う。
論文 参考訳(メタデータ) (2020-09-14T15:28:28Z) - Discovering Reinforcement Learning Algorithms [53.72358280495428]
強化学習アルゴリズムは、いくつかのルールの1つに従ってエージェントのパラメータを更新する。
本稿では,更新ルール全体を検出するメタラーニング手法を提案する。
これには、一連の環境と対話することで、"何を予測するか"(例えば、値関数)と"どのように学習するか"の両方が含まれている。
論文 参考訳(メタデータ) (2020-07-17T07:38:39Z) - Bayesian active learning for production, a systematic study and a
reusable library [85.32971950095742]
本稿では,現在のアクティブラーニング技術の主な欠点について分析する。
実世界のデータセットの最も一般的な課題が深層能動学習プロセスに与える影響について,系統的研究を行った。
部分的不確実性サンプリングやより大きいクエリサイズといった,アクティブな学習ループを高速化する2つの手法を導出する。
論文 参考訳(メタデータ) (2020-06-17T14:51:11Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。