論文の概要: PROZE: Generating Parameterized Unit Tests Informed by Runtime Data
- arxiv url: http://arxiv.org/abs/2407.00768v2
- Date: Tue, 3 Sep 2024 12:24:32 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-04 17:31:13.799982
- Title: PROZE: Generating Parameterized Unit Tests Informed by Runtime Data
- Title(参考訳): PROZE: 実行時データによるパラメータ化ユニットテストの生成
- Authors: Deepika Tiwari, Yogya Gamage, Martin Monperrus, Benoit Baudry,
- Abstract要約: パラメータ化された単体テスト(PUT)は、一連の入力を引数として受け取り、これらすべての入力に対して真であると予想されるアサーションを含む。
本稿では,複数の入力を保持するPUTのオーラクルを見つける問題に対処する。
我々は,複数のテスト入力に対して有効な開発者記述アサーションを識別し,PUTを生成するPROZEと呼ばれるシステムの設計を行う。
- 参考スコア(独自算出の注目度): 10.405775369526006
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Typically, a conventional unit test (CUT) verifies the expected behavior of the unit under test through one specific input / output pair. In contrast, a parameterized unit test (PUT) receives a set of inputs as arguments, and contains assertions that are expected to hold true for all these inputs. PUTs increase test quality, as they assess correctness on a broad scope of inputs and behaviors. However, defining assertions over a set of inputs is a hard task for developers, which limits the adoption of PUTs in practice. In this paper, we address the problem of finding oracles for PUTs that hold over multiple inputs. We design a system called PROZE, that generates PUTs by identifying developer-written assertions that are valid for more than one test input. We implement our approach as a two-step methodology: first, at runtime, we collect inputs for a target method that is invoked within a CUT; next, we isolate the valid assertions of the CUT to be used within a PUT. We evaluate our approach against 5 real-world Java modules, and collect valid inputs for 128 target methods from test and field executions. We generate 2,287 PUTs, which invoke the target methods with a significantly larger number of test inputs than the original CUTs. We execute the PUTs and find 217 that provably demonstrate that their oracles hold for a larger range of inputs than envisioned by the developers. From a testing theory perspective, our results show that developers express assertions within CUTs that are general enough to hold beyond one particular input.
- Abstract(参考訳): 通常、従来の単体テスト(CUT)は、1つの特定の入力/出力ペアを通して、テスト中の単体が期待する振る舞いを検証する。
対照的に、パラメータ化された単体テスト(PUT)は、一連の入力を引数として受け取り、これらすべての入力に対して真であると予想されるアサーションを含む。
PUTは、入力と振る舞いの広い範囲で正確性を評価することで、テスト品質を向上します。
しかし、一連のインプットに対してアサーションを定義することは開発者にとって難しい作業であり、実際にはPUTの採用を制限する。
本稿では,複数の入力を保持するPUTのオーラクルを見つける問題に対処する。
我々は,複数のテスト入力に対して有効な開発者記述アサーションを識別し,PUTを生成するPROZEと呼ばれるシステムの設計を行う。
まず、実行時に、CUT内で呼び出されるターゲットメソッドのインプットを収集します。次に、PUT内で使用されるCUTの有効なアサーションを分離します。
実世界の5つのJavaモジュールに対する我々のアプローチを評価し、テストおよびフィールド実行から128のターゲットメソッドに対して有効な入力を収集する。
我々は2,287個のPUTを生成し、ターゲットメソッドを元のCUTよりもはるかに多くのテスト入力で呼び出す。
PUTを実行し、開発者が想定するよりも広い範囲の入力をオーラクルが保持していることを示す217を見つけます。
テスト理論の観点からは、開発者は特定の入力を1つに抑えるのに十分一般的なCUT内でのアサーションを表現している。
関連論文リスト
- 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) - Large Language Models to Generate System-Level Test Programs Targeting Non-functional Properties [3.3305233186101226]
本稿では,テストプログラムを生成するためのLarge Language Models (LLM)を提案する。
我々は、DUTの非機能特性を最適化するために、事前訓練されたLLMがテストプログラム生成でどのように機能するかを、一目で見てみる。
論文 参考訳(メタデータ) (2024-03-15T08:01:02Z) - Generative Input: Towards Next-Generation Input Methods Paradigm [49.98958865125018]
我々はGeneInputという新しい生成入力パラダイムを提案する。
すべての入力シナリオと他のインテリジェントな補助入力関数を処理するためにプロンプトを使用し、ユーザーフィードバックでモデルを最適化し、パーソナライズされた結果を提供する。
その結果,FK2C(Full-mode Key-sequence to Characters)タスクにおいて,最先端のパフォーマンスを初めて達成したことを示す。
論文 参考訳(メタデータ) (2023-11-02T12:01:29Z) - Revisiting and Improving Retrieval-Augmented Deep Assertion Generation [13.373681113601982]
単体テストはソフトウェア開発プロセスにおいて重要な活動となっている。
Yuらは単体テストのためのアサーションを生成する統合的なアプローチ(略して積分)を提案した。
有望であるにもかかわらず、なぜ統合が機能するのか、それとも機能しないのかについては、いまだに知識のギャップがあります。
論文 参考訳(メタデータ) (2023-09-19T02:39:02Z) - Exploring Demonstration Ensembling for In-context Learning [75.35436025709049]
In-context Learning (ICL) は、与えられたタスクに対する入出力ペアの言語モデル(LM)の例を示す。
ICLの標準的なアプローチは、LMdのデモとテスト入力の促進である。
本研究は,単純な結合の代替として,DENSE(Demonstration Ensembling)を探索する。
論文 参考訳(メタデータ) (2023-08-17T04:45:19Z) - Semi-DETR: Semi-Supervised Object Detection with Detection Transformers [105.45018934087076]
半教師付き物体検出(SSOD)におけるDETRに基づくフレームワークの解析
本報告では,第1次変圧器を用いたエンド・ツー・エンド半教師対象検出器であるSemi-DETRについて述べる。
我々の手法は、最先端の手法をクリアマージンで上回る。
論文 参考訳(メタデータ) (2023-07-16T16:32:14Z) - AdaNPC: Exploring Non-Parametric Classifier for Test-Time Adaptation [64.9230895853942]
ドメインの一般化は、ターゲットのドメイン情報を活用することなく、任意に困難にすることができる。
この問題に対処するためにテスト時適応(TTA)手法が提案されている。
本研究では,テスト時間適応(AdaNPC)を行うためにNon-Parametricを採用する。
論文 参考訳(メタデータ) (2023-04-25T04:23:13Z) - Pre-trained Embeddings for Entity Resolution: An Experimental Analysis
[Experiment, Analysis & Benchmark] [65.11858854040544]
我々は、17の確立されたベンチマークデータセットに対して、12のポピュラー言語モデルの徹底的な実験分析を行う。
まず、全ての入力エンティティを高密度な埋め込みベクトルに変換するためのベクトル化のオーバーヘッドを評価する。
次に,そのブロッキング性能を調査し,詳細なスケーラビリティ解析を行い,最先端のディープラーニングベースのブロッキング手法と比較する。
第3に、教師なしマッチングと教師なしマッチングの両方に対して、相対的な性能で締めくくります。
論文 参考訳(メタデータ) (2023-04-24T08:53:54Z) - Auditing AI models for Verified Deployment under Semantic Specifications [65.12401653917838]
AuditAIは、解釈可能な形式検証とスケーラビリティのギャップを埋める。
AuditAIは、画素空間の摂動のみを用いた検証の限界に対処しながら、検証と認定トレーニングのための制御されたバリエーションを得られるかを示す。
論文 参考訳(メタデータ) (2021-09-25T22:53:24Z) - Generating Accurate Assert Statements for Unit Test Cases using
Pretrained Transformers [10.846226514357866]
単体テストは、ソフトウェアテストピラミッドの基礎となる基礎である。
正確で有用なアサーション文を生成することによって、開発者が単体テストケースを書くのを支援するアプローチを提案する。
論文 参考訳(メタデータ) (2020-09-11T19:35:09Z) - Unit Test Case Generation with Transformers and Focal Context [10.220204860586582]
AthenaTestは、現実世界の焦点メソッドと開発者が記述したテストケースから学習することで、単体テストケースを生成することを目的としている。
我々は,Javaにおける単体テストケースメソッドとそれに対応する焦点メソッドの並列コーパスとして最大規模で公開されているMethods2Testを紹介する。
AthenaTestを5つの欠陥4jプロジェクトで評価し、30回の試行で焦点メソッドの43.7%をカバーする25Kパステストケースを生成した。
論文 参考訳(メタデータ) (2020-09-11T18:57:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。