論文の概要: When Automated Program Repair Meets Regression Testing -- An Extensive Study on 2 Million Patches
- arxiv url: http://arxiv.org/abs/2105.07311v2
- Date: Tue, 2 Jul 2024 06:22:24 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-04 10:45:46.870995
- Title: When Automated Program Repair Meets Regression Testing -- An Extensive Study on 2 Million Patches
- Title(参考訳): プログラムの自動修復が回帰テストに遭遇する時 - 200万件のパッチに関する広範な調査
- Authors: Yiling Lou, Jun Yang, Samuel Benton, Dan Hao, Lin Tan, Zhenpeng Chen, Lu Zhang, Lingming Zhang,
- Abstract要約: 自動プログラム修復(APR)は学術分野で広く研究され、産業から広く注目を集めている。
従来の回帰テスト選択(RTS)技術は、パッチ毎に影響を受けるテストのみを実行するために利用することができる。
本稿では,2M以上のパッチ上での12の最先端APRシステムに対して,様々なレベルで広く利用されているRTS技術について検討した。
- 参考スコア(独自算出の注目度): 19.244476722177353
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: In recent years, Automated Program Repair (APR) has been extensively studied in academia and even drawn wide attention from industry. However, APR techniques can be extremely time consuming since (1) a large number of patches can be generated for a given bug, and (2) each patch needs to be executed on the original tests to ensure its correctness. In the literature, various techniques (e.g., based on learning, mining, and constraint solving) have been proposed/studied to reduce the number of patches. Intuitively, every patch can be treated as a software revision during regression testing; thus, traditional Regression Test Selection (RTS) techniques can be leveraged to only execute the tests affected by each patch (as the other tests would keep the same outcomes) to further reduce patch execution time. However, few APR systems actually adopt RTS and there is still a lack of systematic studies demonstrating the benefits of RTS and the impact of different RTS strategies on APR. To this end, this paper presents the first extensive study of widely-used RTS techniques at different levels (i.e., class/method/statement levels) for 12 state-of-the-art APR systems on over 2M patches. Our study reveals various practical guidelines for bridging the gap between APR and regression testing.
- Abstract(参考訳): 近年、APR(Automated Program repair)は学術分野で広く研究され、産業から広く注目を集めている。
しかしながら,(1) バグに対して多数のパッチを生成することができ,(2) それぞれのパッチを元のテストで実行して,その正確性を保証する必要があるため,APR のテクニックは極めて時間がかかります。
文献では、パッチ数を減らすために様々な手法(例えば、学習、マイニング、制約解決)が提案・検討されている。
直感的には、すべてのパッチは回帰テスト中にソフトウェアリビジョンとして扱うことができるため、従来の回帰テスト選択(RTS)技術は、各パッチに影響されたテスト(他のテストでは同じ結果を保持する)だけを実行することで、パッチの実行時間を短縮することができる。
しかし、実際にRTSを採用するAPRシステムはほとんどなく、RTSの利点と異なるRTS戦略がAPRに与える影響を示す体系的な研究はいまだに存在しない。
そこで本研究では,2M以上のパッチ上での12種類の最先端APRシステムに対して,異なるレベル(クラス/メソッド/ステートメントレベル)で広く利用されているRTS技術について,初めて広範な研究を行った。
本研究では,APRと回帰テストのギャップを埋めるための様々な実践的ガイドラインを明らかにする。
関連論文リスト
- Ranking Plausible Patches by Historic Feature Frequencies [4.129445293427074]
PrevaRank は,バグ修正の歴史的プログラマによる修正と特徴的類似性に応じて,可塑性パッチをランク付けする手法である。
PrevaRankは、修正のランクを継続的に改善した。
さまざまなAPRツールやバグに対して,オーバーヘッドを無視して,堅牢に動作します。
論文 参考訳(メタデータ) (2024-07-24T12:58:14Z) - Improving Bias Correction Standards by Quantifying its Effects on Treatment Outcomes [54.18828236350544]
Propensity score matching (PSM) は、分析のために同等の人口を選択することで選択バイアスに対処する。
異なるマッチング手法は、すべての検証基準を満たす場合でも、同じタスクに対する平均処理効果(ATE)を著しく異なるものにすることができる。
この問題に対処するため,新しい指標A2Aを導入し,有効試合数を削減した。
論文 参考訳(メタデータ) (2024-07-20T12:42:24Z) - Active Test-Time Adaptation: Theoretical Analyses and An Algorithm [51.84691955495693]
テスト時間適応(TTA)は、教師なし設定でストリーミングテストデータの分散シフトに対処する。
完全TTA設定内に能動学習を統合する能動テスト時間適応(ATTA)の新たな問題設定を提案する。
論文 参考訳(メタデータ) (2024-04-07T22:31:34Z) - SCREWS: A Modular Framework for Reasoning with Revisions [58.698199183147935]
我々は、リビジョンを伴う推論のためのモジュラーフレームワークであるSCREWSを紹介する。
我々は、SCREWSが、共通のフレームワークの下で、いくつかの以前のアプローチを統合することを示す。
我々は,多種多様な推論タスクに基づいて,最先端のLCMを用いてフレームワークの評価を行った。
論文 参考訳(メタデータ) (2023-09-20T15:59:54Z) - Practical Program Repair via Preference-based Ensemble Strategy [28.176710503313895]
本稿では、異なるバグを修復するためのAPRツールのランク付けを行うためのPreference-based Ensemble Program repair framework(P-EPR)を提案する。
P-EPRは、修復パターンを利用した最初の非学習ベースのAPRアンサンブル法である。
実験の結果,P-EPRは柔軟性と有効性の両方において既存の戦略よりも優れていた。
論文 参考訳(メタデータ) (2023-09-15T07:23:04Z) - Accelerating Patch Validation for Program Repair with Interception-Based
Execution Scheduling [15.592392495402809]
そこで本研究では,既存の突然変異検査手法を検証し,汎用パッチ検証に適した5種類の加速手法を同定する。
本稿では,オンラインのパッチ間の等価性を検出する実行スケジューリングと,システム状態へのパッチ変更を遮断するインターセプションベースのインスツルメンテーションの2つの新しい手法を提案する。
4つのAPRアプローチによる大規模評価では、ExpressAPRは、プレーンバリデーションの137.1倍、最先端の8.8倍のパッチ検証を高速化する。
論文 参考訳(メタデータ) (2023-05-06T06:45:25Z) - PatchZero: Zero-Shot Automatic Patch Correctness Assessment [13.19425284402493]
コードに大規模言語モデルを適用することにより,パッチの正当性評価を行うツールネームを提案する。
ツールネームは、新しいAPRツールによって生成されたものとセマンティックな類似性を示す既存のAPRツールからラベル付きパッチを優先する。
実験の結果,ツールネームの精度は84.4%,F1スコアは86.5%であった。
論文 参考訳(メタデータ) (2023-03-01T03:12:11Z) - A Survey of Learning-based Automated Program Repair [12.09968472868107]
自動プログラム修復(APR)は、ソフトウェアバグを自動修正することを目的としており、ソフトウェア開発とメンテナンスにおいて重要な役割を果たす。
近年のディープラーニング(DL)の進歩により、ニューラルネットワークを活用して大規模なオープンソースコードリポジトリからバグフィックスパターンを学ぶためのAPR技術が増えている。
本稿では,学習型APRコミュニティにおける最先端研究を要約するために,体系的な調査を行う。
論文 参考訳(メタデータ) (2023-01-09T11:08:15Z) - Discovering Reinforcement Learning Algorithms [53.72358280495428]
強化学習アルゴリズムは、いくつかのルールの1つに従ってエージェントのパラメータを更新する。
本稿では,更新ルール全体を検出するメタラーニング手法を提案する。
これには、一連の環境と対話することで、"何を予測するか"(例えば、値関数)と"どのように学習するか"の両方が含まれている。
論文 参考訳(メタデータ) (2020-07-17T07:38:39Z) - Bias-based Universal Adversarial Patch Attack for Automatic Check-out [59.355948824578434]
逆の例は、ディープニューラルネットワーク(DNN)を簡単に誤解させる、知覚不能な摂動を持つ入力である。
既存の戦略は強力な一般化能力を持つ敵パッチを生成できなかった。
本稿では,強い一般化能力を持つクラス非依存の普遍的敵パッチを生成するためのバイアスベースのフレームワークを提案する。
論文 参考訳(メタデータ) (2020-05-19T07:38:54Z) - Dynamic Causal Effects Evaluation in A/B Testing with a Reinforcement
Learning Framework [68.96770035057716]
A/Bテスト(A/B Testing)は、新しい製品を製薬、技術、伝統産業の古い製品と比較するビジネス戦略である。
本稿では,オンライン実験においてA/Bテストを実施するための強化学習フレームワークを提案する。
論文 参考訳(メタデータ) (2020-02-05T10:25:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。