論文の概要: Studying the Impact of Early Test Termination Due to Assertion Failure on Code Coverage and Spectrum-based Fault Localization
- arxiv url: http://arxiv.org/abs/2504.04557v1
- Date: Sun, 06 Apr 2025 17:14:09 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-08 14:13:52.932141
- Title: Studying the Impact of Early Test Termination Due to Assertion Failure on Code Coverage and Spectrum-based Fault Localization
- Title(参考訳): アクセレーション故障による早期試験終了がコードカバレッジとスペクトルに基づく故障位置に与える影響について
- Authors: Md. Ashraf Uddin, Shaowei Wang, An Ran Chen, Tse-Hsun, Chen,
- Abstract要約: 本研究は,アサーション障害による早期検査終了に関する最初の実証的研究である。
6つのオープンソースプロジェクトの207バージョンを調査した。
以上の結果から,早期検査終了は,コードカバレッジとスペクトルに基づく障害局所化の有効性の両方を損なうことが示唆された。
- 参考スコア(独自算出の注目度): 48.22524837906857
- License:
- Abstract: An assertion is commonly used to validate the expected programs behavior (e.g., if the returned value of a method equals an expected value) in software testing. Although it is a recommended practice to use only one assertion in a single test to avoid code smells (e.g., Assertion Roulette), it is common to have multiple assertions in a single test. One issue with tests that have multiple assertions is that when the test fails at an early assertion (not the last one), the test will terminate at that point, and the remaining testing code will not be executed. This, in turn, can potentially reduce the code coverage and the performance of techniques that rely on code coverage information (e.g., spectrum-based fault localization). We refer to such a scenario as early test termination. Understanding the impact of early test termination on test coverage is important for software testing and debugging, particularly for the techniques that rely on coverage information obtained from the testing. We conducted the first empirical study on early test termination due to assertion failure (i.e., early test termination) by investigating 207 versions of 6 open-source projects. We found that a nonnegligible portion of the failed tests (19.1%) is early terminated due to assertion failure. Our findings indicate that early test termination harms both code coverage and the effectiveness of spectrum-based fault localization. For instance, after eliminating early test termination, the line/branch coverage is improved in 55% of the studied versions, and improves the performance of two popular SBFL techniques Ochiai and Tarantula by 15.1% and 10.7% compared to the original setting (without eliminating early test termination) in terms of MFR, respectively.
- Abstract(参考訳): アサーションは、ソフトウェアテストにおいて期待されるプログラムの振る舞い(例えば、メソッドの返却値が期待値と等しい場合)を検証するために一般的に使用される。
コードの臭いを避けるために1つのテストで1つのアサーション(例:Assertion Roulette)を使うのが推奨されているが、単一のテストで複数のアサーションを持つのが一般的である。
複数のアサーションを持つテストの1つの問題は、テストが早期アサーション(最後のアサーションではない)で失敗すると、その時点でテストが終了し、残りのテストコードが実行されないことである。
これにより、コードカバレッジ情報(スペクトルベースのフォールトローカライゼーションなど)に依存するテクニックのコードカバレッジとパフォーマンスが削減される可能性がある。
我々は、早期テスト終了のようなシナリオについて言及する。
早期テスト終了がテストカバレッジに与える影響を理解することは、ソフトウェアテストとデバッグ、特にテストから得られたカバレッジ情報に依存する技術にとって重要である。
6つのオープンソースプロジェクトの207バージョンを調査し,アサーション失敗(早期テスト終了)による早期テスト終了に関する実証的研究を行った。
テスト失敗の非無視部分(19.1%)がアサーションの失敗により早期に終了することを発見した。
以上の結果から,早期検査終了は,コードカバレッジとスペクトルに基づく障害局所化の有効性の両方を損なうことが示唆された。
例えば、初期のテスト終了をなくした後に、試験版の55%でライン/ブランチカバレッジが改善され、2つの人気のあるSBFLテクニックであるOchiaiとTarantulaのパフォーマンスが、MFRのオリジナルの設定(早期テスト終了をなくすことなく)と比較して15.1%と10.7%向上した。
関連論文リスト
- TestGenEval: A Real World Unit Test Generation and Test Completion Benchmark [24.14654309612826]
TestGenEvalは、1,210のコードから68,647のテストと、11の保守されたPythonリポジトリにまたがるテストファイルペアで構成されている。
初期テストのオーサリング、テストスイートの補完、コードカバレッジの改善をカバーしている。
パラメータは7Bから405Bまで様々である。
論文 参考訳(メタデータ) (2024-10-01T14:47:05Z) - Do Test and Environmental Complexity Increase Flakiness? An Empirical Study of SAP HANA [47.29324864511411]
不安定なテストはコードの変更なしにランダムに失敗する。
テストの特徴と,テストのフレキネスに影響を与える可能性のあるテスト環境について検討する。
論文 参考訳(メタデータ) (2024-09-16T07:52:09Z) - TestART: Improving LLM-based Unit Testing via Co-evolution of Automated Generation and Repair Iteration [7.509927117191286]
大規模言語モデル(LLM)は、単体テストケースを生成する際、顕著な能力を示した。
本研究では,新しい単体テスト生成法であるTestARTを提案する。
TestARTは、自動生成と修復の反復の共進化を通じて、LLMベースのユニットテストを改善している。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - Align Your Prompts: Test-Time Prompting with Distribution Alignment for
Zero-Shot Generalization [64.62570402941387]
テスト領域のギャップを埋めるために、機能分散シフトを最小限にして、テスト時にマルチモーダルプロンプトを適用するために、単一のテストサンプルを使用します。
提案手法は,既存のプロンプト学習技術以上のゼロショットトップ1精度を向上し,ベースラインのMaPLeよりも3.08%向上した。
論文 参考訳(メタデータ) (2023-11-02T17:59:32Z) - Precise Error Rates for Computationally Efficient Testing [75.63895690909241]
本稿では,計算複雑性に着目した単純な対数-単純仮説テストの問題を再考する。
線形スペクトル統計に基づく既存の試験は、I型とII型の誤差率の間の最良のトレードオフ曲線を達成する。
論文 参考訳(メタデータ) (2023-11-01T04:41:16Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - Sequential Kernelized Independence Testing [101.22966794822084]
我々は、カーネル化依存度にインスパイアされたシーケンシャルなカーネル化独立試験を設計する。
シミュレーションデータと実データの両方にアプローチのパワーを実証する。
論文 参考訳(メタデータ) (2022-12-14T18:08:42Z) - Test2Vec: An Execution Trace Embedding for Test Case Prioritization [12.624724734296342]
テストケースの実行トレースは、自動テストタスクの振る舞いを抽象化するよい代替手段になり得る。
本稿では,テスト実行トレースを潜在空間にマッピングする新しい埋め込み手法Test2Vecを提案する。
結果より,提案したTPは,第1検体の平均正規化ランクを41.80%向上させることがわかった。
論文 参考訳(メタデータ) (2022-06-28T20:38:36Z) - DeepOrder: Deep Learning for Test Case Prioritization in Continuous
Integration Testing [6.767885381740952]
この研究は、回帰機械学習に基づいて動作するディープラーニングベースのモデルであるDeepOrderを紹介している。
DeepOrderは、テスト実行の履歴記録に基づいて、以前のテストサイクルの任意の数からテストケースをランク付けする。
実験により, 深部ニューラルネットワークは, 単純な回帰モデルとして, 連続的な統合テストにおいて, テストケースの優先順位付けに効率的に利用できることを示した。
論文 参考訳(メタデータ) (2021-10-14T15:10:38Z) - Noisy Adaptive Group Testing using Bayesian Sequential Experimental
Design [63.48989885374238]
病気の感染頻度が低い場合、Dorfman氏は80年前に、人のテストグループは個人でテストするよりも効率が良いことを示した。
本研究の目的は,ノイズの多い環境で動作可能な新しいグループテストアルゴリズムを提案することである。
論文 参考訳(メタデータ) (2020-04-26T23:41:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。