論文の概要: Evaluating SZZ Implementations: An Empirical Study on the Linux Kernel
- arxiv url: http://arxiv.org/abs/2308.05060v1
- Date: Wed, 9 Aug 2023 16:41:27 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 14:50:52.355426
- Title: Evaluating SZZ Implementations: An Empirical Study on the Linux Kernel
- Title(参考訳): SZZ実装の評価:Linuxカーネルに関する実証的研究
- Authors: Yunbo Lyu, Hong Jin Kang, Ratnadira Widyasari, Julia Lawall, David Lo
- Abstract要約: ゴーストコミットがSZZアルゴリズムに与える影響の評価は依然として限られている。
Linuxカーネル開発者は、標準のプラクティスとして、対応するバグ誘発コミット(s)のコミット識別子でバグ修正パッチのラベル付けを始めた。
本稿では6つのSZZアルゴリズムを76,046対のバグ修正パッチとLinuxカーネルからのバグ発生コミットに適用する。
- 参考スコア(独自算出の注目度): 9.33194608775543
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: The SZZ algorithm is used to connect bug-fixing commits to the earlier
commits that introduced bugs. This algorithm has many applications and many
variants have been devised. However, there are some types of commits that
cannot be traced by the SZZ algorithm, referred to as "ghost commits". The
evaluation of how these ghost commits impact the SZZ algorithm remains limited.
Moreover, these algorithms have been evaluated on datasets created by software
engineering researchers from information in bug trackers and version controlled
histories. Since Oct 2013, the Linux kernel developers have started labelling
bug-fixing patches with the commit identifiers of the corresponding
bug-inducing commit(s) as a standard practice. As of v6.1-rc5, 76,046 pairs of
bug-fixing patches and bug-inducing commits are available. This provides a
unique opportunity to evaluate the SZZ algorithm on a large dataset that has
been created and reviewed by project developers, entirely independently of the
biases of software engineering researchers.
In this paper, we apply six SZZ algorithms to 76,046 pairs of bug-fixing
patches and bug-introducing commits from the Linux kernel. Our findings reveal
that SZZ algorithms experience a more significant decline in recall on our
dataset (13.8%) as compared to prior findings reported by Rosa et al., and the
disparities between the individual SZZ algorithms diminish. Moreover, we find
that 17.47% of bug-fixing commits are ghost commits. Finally, we propose
Tracing-Commit SZZ (TC-SZZ), that traces all commits in the change history of
lines modified or deleted in bug-fixing commits. Applying TC-SZZ to all failure
cases, excluding ghost commits, we found that TC-SZZ could identify 17.7% of
them. Our further analysis found that 34.6% of bug-inducing commits were in the
function history, 27.5% in the file history (but not in the function history),
and...
- Abstract(参考訳): SZZアルゴリズムはバグ修正コミットとバグを導入した以前のコミットを接続するために使用される。
このアルゴリズムには多くの応用があり、多くの変種が考案されている。
しかし、SZZアルゴリズムでは追跡できないいくつかのタイプのコミットがあり、"ghost commits"と呼ばれている。
これらのゴーストコミットがSZZアルゴリズムに与える影響の評価は依然として限られている。
さらに、これらのアルゴリズムは、バグトラッカーやバージョン管理履歴の情報から、ソフトウェア工学研究者によって作成されたデータセット上で評価されている。
2013年10月以降、Linuxカーネル開発者は、標準のプラクティスとして、対応するバグ誘発コミット(s)のコミット識別子にバグ修正パッチをラベル付けし始めた。
v6.1-rc5では、76,046対のバグ修正パッチとバグ発生コミットが利用可能である。
これは、ソフトウェアエンジニアリング研究者のバイアスとは独立して、プロジェクト開発者によって作成、レビューされた大規模なデータセット上でSZZアルゴリズムを評価するユニークな機会を提供する。
本稿では6つのSZZアルゴリズムを76,046対のバグ修正パッチとLinuxカーネルからのバグ導入コミットに適用する。
以上の結果から,SZZアルゴリズムは,Rosaらによる以前の結果と比較して,データセットのリコール率(13.8%)が大幅に低下し,個々のSZZアルゴリズムの相違が減少していることが判明した。
さらに、バグ修正コミットの17.47%がゴーストコミットであることがわかった。
最後に、バグフィックスコミットで修正または削除された行の変更履歴のすべてのコミットをトレースするトレースコミットszz(tc-szz)を提案する。
TC-SZZをゴーストコミットを除くすべての障害事例に適用すると、T-SZZが17.7%を特定できることがわかった。
さらに分析したところ、バグ誘発コミットの34.6%が機能履歴、27.5%がファイル履歴(機能履歴ではない)、そして...であった。
関連論文リスト
- The Fact Selection Problem in LLM-Based Program Repair [3.7005619077967133]
コードコンテキストのような単純な構文的な詳細から、以前はPythonプロジェクトのコンテキストで探索されていなかった意味情報まで、それぞれの事実が有益であることを示す。
重要なことは、プログラム修復プロンプトの有効性は、使用済み事実の数よりも非単調であることが判明した。
我々は、特定のバグに固有の事実を抽出し、プロンプトに含める基本統計モデルManipleを開発した。
論文 参考訳(メタデータ) (2024-04-08T13:41:32Z) - Identifying Defect-Inducing Changes in Visual Code [54.20154707138088]
SZZ-VC (SZZ Visual Code) は, ラインの違いではなくグラフィカル要素の違いに基づいて, 視覚的コードの変化を検知するアルゴリズムである。
業界製AAAビデオゲームのアルゴリズムを検証し、12のオープンソースプロジェクトで20の音楽ヴィジュアルプログラミングの欠陥を検証した。
論文 参考訳(メタデータ) (2023-09-07T00:12:28Z) - ALGO: Synthesizing Algorithmic Programs with LLM-Generated Oracle
Verifiers [60.6418431624873]
大きな言語モデル(LLM)は、機能記述からコードを実装するのに優れているが、アルゴリズムの問題に悩まされている。
我々は,アルゴリズムプログラムを LLM 生成 Oracle で合成するフレームワーク ALGO を提案し,その生成をガイドし,その正確性を検証する。
実験の結果,ALGOを装着すると,Codexモデルよりも8倍,CodeTよりも2.6倍の1サブミッションパス率が得られることがわかった。
論文 参考訳(メタデータ) (2023-05-24T00:10:15Z) - Multi-Granularity Detector for Vulnerability Fixes [13.653249890867222]
脆弱性修正のためのMiDa(Multi-Granularity Detector for Vulnerability Fixes)を提案する。
MiDasはコミットレベル、ファイルレベル、ハンクレベル、ラインレベルに対応して、コード変更の粒度ごとに異なるニューラルネットワークを構築する。
MiDasは、現在の最先端のベースラインをAUCで4.9%、JavaとPythonベースのデータセットで13.7%上回っている。
論文 参考訳(メタデータ) (2023-05-23T10:06:28Z) - What Happens When We Fuzz? Investigating OSS-Fuzz Bug History [0.9772968596463595]
我々は2022年3月12日までにOSS-Fuzzが公表した44,102件の問題を分析した。
コードを含むバグの発生時期を推定するために,バグ貢献のコミットを特定し,検出から修正までのタイムラインを測定した。
論文 参考訳(メタデータ) (2023-05-19T05:15:36Z) - A Gold Standard Dataset for the Reviewer Assignment Problem [117.59690218507565]
類似度スコア(Similarity score)とは、論文のレビューにおいて、レビュアーの専門知識を数値で見積もるものである。
私たちのデータセットは、58人の研究者による477の自己申告された専門知識スコアで構成されています。
2つの論文をレビュアーに関連付けるタスクは、簡単なケースでは12%~30%、ハードケースでは36%~43%である。
論文 参考訳(メタデータ) (2023-03-23T16:15:03Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - ADPTriage: Approximate Dynamic Programming for Bug Triage [0.0]
オンラインバグトリアージタスクのためのマルコフ決定プロセス(MDP)モデルを開発した。
私たちはADPTriageと呼ばれるADPベースのバグトリアージソリューションを提供しています。
以上の結果から, 代入精度と固定時間の観点から, ミオピックアプローチよりも有意な改善が見られた。
論文 参考訳(メタデータ) (2022-11-02T04:42:21Z) - Lifelong Bandit Optimization: No Prior and No Regret [70.94238868711952]
我々は,過去の経験から学習することで環境に適応するアルゴリズムであるLIBOを開発した。
カーネルが未知だが、すべてのタスク間で共有されるカーネル構造を仮定する。
我々のアルゴリズムは、任意のカーネル化または線形バンディットアルゴリズムと組み合わせて、最適な性能を保証できる。
論文 参考訳(メタデータ) (2022-10-27T14:48:49Z) - DABT: A Dependency-aware Bug Triaging Method [0.0]
自然言語処理と整数を利用して,適切な開発者にバグを割り当てる,Dependency-aware Bug Triaging(DABT)と呼ばれるバグトリアージ手法を提案する。
その結果,DABTは過度なバグを最大12%まで減らすことができることがわかった。
また、バグの修正時間の平均を半減します。
論文 参考訳(メタデータ) (2021-04-26T17:35:42Z) - Adversarial Online Learning with Changing Action Sets: Efficient
Algorithms with Approximate Regret Bounds [48.312484940846]
睡眠の専門家やバンドイットによるオンライン学習の問題を再考する。
各タイムステップにおいて、アルゴリズムが選択できるアクションのサブセットのみが利用可能である。
我々は、一般的な睡眠専門家/バンド問題に対して、アポキシマ-レグレット保証を提供するアルゴリズムを提供する。
論文 参考訳(メタデータ) (2020-03-07T02:13:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。