論文の概要: Perfect is the enemy of test oracle
- arxiv url: http://arxiv.org/abs/2302.01488v2
- Date: Wed, 5 Apr 2023 23:32:13 GMT
- ステータス: 処理完了
- システム内更新日: 2023-04-07 17:05:25.512111
- Title: Perfect is the enemy of test oracle
- Title(参考訳): 完全はテストオラクルの敵です
- Authors: Ali Reza Ibrahimzada, Yigit Varli, Dilara Tekinoglu, Reyhaneh
Jabbarvand
- Abstract要約: テストのオーラクルは、テストが失敗する(バグを検出する)か通過するかを判断するために、正しい動作とバギーな動作を区別できる地平線に依存しています。
本稿では,テストアサーションが存在しない場合には,テスト対象のメソッド(MUT)で単体テストが通過するか失敗するかを判定できる,学習に基づくSEERを提案する。
さまざまなオープンソースのJavaプロジェクトから5K以上のユニットテストにSEERを適用する実験は、生成したオラクルがフェールやパスラベルを予測するのに有効であることを示している。
- 参考スコア(独自算出の注目度): 1.457696018869121
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automation of test oracles is one of the most challenging facets of software
testing, but remains comparatively less addressed compared to automated test
input generation. Test oracles rely on a ground-truth that can distinguish
between the correct and buggy behavior to determine whether a test fails
(detects a bug) or passes. What makes the oracle problem challenging and
undecidable is the assumption that the ground-truth should know the exact
expected, correct, or buggy behavior. However, we argue that one can still
build an accurate oracle without knowing the exact correct or buggy behavior,
but how these two might differ. This paper presents SEER, a learning-based
approach that in the absence of test assertions or other types of oracle, can
determine whether a unit test passes or fails on a given method under test
(MUT). To build the ground-truth, SEER jointly embeds unit tests and the
implementation of MUTs into a unified vector space, in such a way that the
neural representation of tests are similar to that of MUTs they pass on them,
but dissimilar to MUTs they fail on them. The classifier built on top of this
vector representation serves as the oracle to generate "fail" labels, when test
inputs detect a bug in MUT or "pass" labels, otherwise. Our extensive
experiments on applying SEER to more than 5K unit tests from a diverse set of
open-source Java projects show that the produced oracle is (1) effective in
predicting the fail or pass labels, achieving an overall accuracy, precision,
recall, and F1 measure of 93%, 86%, 94%, and 90%, (2) generalizable, predicting
the labels for the unit test of projects that were not in training or
validation set with negligible performance drop, and (3) efficient, detecting
the existence of bugs in only 6.5 milliseconds on average.
- Abstract(参考訳): テストオーラクルの自動化は、ソフトウェアテストの最も難しい側面の1つだが、自動テスト入力生成と比較して、比較的扱いにくい。
テストのオーラクルは、テストが失敗する(バグを検出する)か通過するかを判断するために、正しい動作とバギーな動作を区別できる地平線に依存しています。
オラクルの問題を難しく、決定不能にしているのは、根本真実が正確な期待、正しい、またはバグの多い振る舞いを知るべきだという仮定である。
しかし、我々は、正確なoracleを、正確な正しい振る舞いやバグの振る舞いを知らずに構築できると主張しているが、この2つがどのように違うかもしれない。
本稿では,テストアサーションや他の種類のオラクルが存在しない場合に,テスト対象のメソッド(MUT)で単体テストが通過するか失敗するかを判断できる,学習に基づくSEERを提案する。
基底を構築するため、seerはユニットテストとmutsの実装を共同で統一ベクトル空間に組み込んでおり、テストの神経表現は、彼らが渡したmutと似ているが、それらが失敗したmutと似ていないようにしている。
このベクトル表現の上に構築された分類器は、テスト入力が mut あるいは "pass" ラベルのバグを検出するとき、oracle が "fail" ラベルを生成するのに役立ちます。
Our extensive experiments on applying SEER to more than 5K unit tests from a diverse set of open-source Java projects show that the produced oracle is (1) effective in predicting the fail or pass labels, achieving an overall accuracy, precision, recall, and F1 measure of 93%, 86%, 94%, and 90%, (2) generalizable, predicting the labels for the unit test of projects that were not in training or validation set with negligible performance drop, and (3) efficient, detecting the existence of bugs in only 6.5 milliseconds on average.
関連論文リスト
- Generating executable oracles to check conformance of client code to requirements of JDK Javadocs using LLMs [21.06722050714324]
本稿では,広く使用されているJavaライブラリ,例えば java.lang や java.util パッケージのクライアントに対するテストオーラクルの自動化に焦点を当てる。
大規模な言語モデルを、テストオラクル自動化のフレームワークに関する洞察を具現化するための技術として使用しています。
論文 参考訳(メタデータ) (2024-11-04T04:24:25Z) - STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - LLM-Powered Test Case Generation for Detecting Tricky Bugs [30.82169191775785]
AIDは、少なくとも正しいプログラムをターゲットにしたテスト入力とオラクルを生成する。
TrickyBugs と EvalPlus の2つの大規模データセットに対する AID の評価を行った。
その結果,AIDのリコール,精度,F1スコアは,それぞれ1.80x,2.65x,1.66xに優れていた。
論文 参考訳(メタデータ) (2024-04-16T06:20:06Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - Test-Time Self-Adaptive Small Language Models for Question Answering [63.91013329169796]
ラベルのないテストデータのみを用いて、より小さな自己適応型LMの能力を示し、検討する。
提案した自己適応戦略は,ベンチマークQAデータセットの大幅な性能向上を示す。
論文 参考訳(メタデータ) (2023-10-20T06:49:32Z) - Automatic Generation of Test Cases based on Bug Reports: a Feasibility
Study with Large Language Models [4.318319522015101]
既存のアプローチは、単純なテスト(例えば単体テスト)や正確な仕様を必要とするテストケースを生成する。
ほとんどのテスト手順は、テストスイートを形成するために人間が書いたテストケースに依存しています。
大規模言語モデル(LLM)を活用し,バグレポートを入力として利用することにより,この生成の実現可能性を検討する。
論文 参考訳(メタデータ) (2023-10-10T05:30:12Z) - Mind the Gap: The Difference Between Coverage and Mutation Score Can
Guide Testing Efforts [8.128730027609471]
テストスイートは、システムの要求/仕様と実装の間のすべての矛盾を効果的に見つけるべきです。
実践者は、しばしばコードカバレッジを使って精度を近似するが、学者は、突然変異スコアは真の(奇抜な)精度を近似する方がよいと主張している。
我々は、オラクルギャップと呼ばれるアイデアに基づいて、与えられたテストの規模、限界、性質を推論する新しいフレームワークを提案する。
論文 参考訳(メタデータ) (2023-09-05T17:05:52Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - AdaNPC: Exploring Non-Parametric Classifier for Test-Time Adaptation [64.9230895853942]
ドメインの一般化は、ターゲットのドメイン情報を活用することなく、任意に困難にすることができる。
この問題に対処するためにテスト時適応(TTA)手法が提案されている。
本研究では,テスト時間適応(AdaNPC)を行うためにNon-Parametricを採用する。
論文 参考訳(メタデータ) (2023-04-25T04:23:13Z) - Auditing AI models for Verified Deployment under Semantic Specifications [65.12401653917838]
AuditAIは、解釈可能な形式検証とスケーラビリティのギャップを埋める。
AuditAIは、画素空間の摂動のみを用いた検証の限界に対処しながら、検証と認定トレーニングのための制御されたバリエーションを得られるかを示す。
論文 参考訳(メタデータ) (2021-09-25T22:53:24Z) - TACRED Revisited: A Thorough Evaluation of the TACRED Relation
Extraction Task [80.38130122127882]
TACREDはリレーショナル抽出(RE)において最も大きく、最も広く使われているクラウドソースデータセットの1つである
パフォーマンスの天井に到達したのか、改善の余地はあるのか?
ラベルエラーは絶対F1テストエラーの8%を占めており、例の50%以上を可逆化する必要がある。
論文 参考訳(メタデータ) (2020-04-30T15:07:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。