論文の概要: Teralizer: Semantics-Based Test Generalization from Conventional Unit Tests to Property-Based Tests
- arxiv url: http://arxiv.org/abs/2512.14475v1
- Date: Tue, 16 Dec 2025 15:08:00 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-12-17 16:49:26.756918
- Title: Teralizer: Semantics-Based Test Generalization from Conventional Unit Tests to Property-Based Tests
- Title(参考訳): テラライザ: 従来の単体テストからプロパティベースのテストへのセマンティックスベースのテスト一般化
- Authors: Johann Glock, Clemens Bauer, Martin Pinzger,
- Abstract要約: TeralizerはJUnitテストをプロパティベースのjqwikテストに変換するJavaのプロトタイプである。
私たちは、JUnitテストをプロパティベースのjqwikテストに変換するJavaのプロトタイプであるTeralizerを使って、このアプローチを実演します。
Apache Commonsユーティリティから完成度の高い開発者記述テストの一般化は、わずか0.05~0.07ポイントの改善しか示さなかった。
- 参考スコア(独自算出の注目度): 5.266171160963615
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Conventional unit tests validate single input-output pairs, leaving most inputs of an execution path untested. Property-based testing addresses this shortcoming by generating multiple inputs satisfying properties but requires significant manual effort to define properties and their constraints. We propose a semantics-based approach that automatically transforms unit tests into property-based tests by extracting specifications from implementations via single-path symbolic analysis. We demonstrate this approach through Teralizer, a prototype for Java that transforms JUnit tests into property-based jqwik tests. Unlike prior work that generalizes from input-output examples, Teralizer derives specifications from program semantics. We evaluated Teralizer on three progressively challenging datasets. On EvoSuite-generated tests for EqBench and Apache Commons utilities, Teralizer improved mutation scores by 1-4 percentage points. Generalization of mature developer-written tests from Apache Commons utilities showed only 0.05-0.07 percentage points improvement. Analysis of 632 real-world Java projects from RepoReapers highlights applicability barriers: only 1.7% of projects completed the generalization pipeline, with failures primarily due to type support limitations in symbolic analysis and static analysis limitations in our prototype. Based on the results, we provide a roadmap for future work, identifying research and engineering challenges that need to be tackled to advance the field of test generalization. Artifacts available at: https://doi.org/10.5281/zenodo.17950381
- Abstract(参考訳): 従来の単体テストでは単一のインプット・アウトプット・ペアが検証され、実行パスのほとんどのインプットは検証されない。
プロパティベースのテストは、プロパティを満たす複数の入力を生成することで、この欠点に対処するが、プロパティとその制約を定義するには、かなりの手作業が必要である。
本稿では,単経路記号解析を用いて実装から仕様を抽出することにより,単体テストを自動的にプロパティベースのテストに変換するセマンティクスベースのアプローチを提案する。
私たちは、JUnitテストをプロパティベースのjqwikテストに変換するJavaのプロトタイプであるTeralizerを使って、このアプローチを実演します。
入力出力の例から一般化する以前の作業とは異なり、Teralizerはプログラムのセマンティクスから仕様を導出する。
テラライザを3つの挑戦的なデータセットで評価した。
EqBenchとApache CommonsユーティリティのEvoSuite生成テストでは、Teralizerは突然変異スコアを1-4ポイント改善した。
Apache Commonsユーティリティから完成度の高い開発者記述テストの一般化は、わずか0.05~0.07ポイントの改善しか示さなかった。
RepoReapersによる632の現実世界のJavaプロジェクトの分析では、適用可能性の障壁が強調されている。
結果に基づき、我々は将来の研究のロードマップを提供し、テスト一般化の分野を前進させるために取り組まなければならない研究と工学の課題を特定します。
アーティファクト:https://doi.org/10.5281/zenodo.17950381
関連論文リスト
- DiffTester: Accelerating Unit Test Generation for Diffusion LLMs via Repetitive Pattern [6.901203999358967]
DiffTesterは、単体テスト生成(UTG)におけるdLLMに適したアクセラレーションフレームワークである。
DiffTesterは、出力の品質を損なうことなく、各ステップで生成されるトークンの数を適応的に増加させる。
最初はPythonに限られていたTestEvalベンチマークを拡張し、JavaやC++などの追加のプログラミング言語を導入しました。
論文 参考訳(メタデータ) (2025-09-29T16:04:18Z) - JustinANN: Realistic Test Generation for Java Programs Driven by Annotations [8.620106576663622]
我々は,Javaプログラムのテストケースを生成する柔軟でスケーラブルなツールであるJustinANNを提案する。
私たちのアプローチは、要件ドメインの境界内と外部でテストデータを生成するのが簡単です。
論文 参考訳(メタデータ) (2025-05-09T01:31:46Z) - TestForge: Feedback-Driven, Agentic Test Suite Generation [7.288137795439405]
TestForgeは、現実世界のコードのための高品質なテストスイートをコスト効率よく生成するように設計されたエージェントユニットテスティングフレームワークである。
TestForgeは、最先端の検索ベースの技術と比較して、より自然で理解しやすいテストを生成する。
論文 参考訳(メタデータ) (2025-03-18T20:21:44Z) - Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)にフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGen は他の LLM ベースラインを7.59% 上回っていることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - LLM-Powered Test Case Generation for Detecting Bugs in Plausible Programs [37.48856389469826]
TrickCatcherは、可算プログラムでバグを発見するためのテストケースを生成する。
TrickCatcherは1.80x、2.65x、1.66xのリコール、精度、F1スコアを達成する。
論文 参考訳(メタデータ) (2024-04-16T06:20:06Z) - Observation-based unit test generation at Meta [52.4716552057909]
TestGenは、アプリケーション実行中に観察された複雑なオブジェクトのシリアライズされた観察から作られたユニットテストを自動的に生成する。
TestGenは518のテストを本番環境に投入し、継続的統合で9,617,349回実行され、5,702の障害が見つかった。
評価の結果,信頼性の高い4,361のエンドツーエンドテストから,少なくとも86%のクラスでテストを生成することができた。
論文 参考訳(メタデータ) (2024-02-09T00:34:39Z) - Enriching Automatic Test Case Generation by Extracting Relevant Test Inputs from Bug Reports [10.587260348588064]
BRMinerは,バグレポートから関連するインプットを抽出する従来の手法と組み合わせて,LLM(Large Language Models)を利用した新しいアプローチである。
本研究では,Defects4JベンチマークとEvoSuiteやRandoopといったテスト生成ツールを用いたBRMinerの評価を行った。
その結果、BRMinerは60.03%の関連入力レート(RIR)と31.71%の関連入力抽出精度(RIEAR)を達成した。
論文 参考訳(メタデータ) (2023-12-22T18:19:33Z) - Predicting Out-of-Domain Generalization with Neighborhood Invariance [59.05399533508682]
局所変換近傍における分類器の出力不変性の尺度を提案する。
私たちの測度は計算が簡単で、テストポイントの真のラベルに依存しません。
画像分類,感情分析,自然言語推論のベンチマーク実験において,我々の測定値と実際のOOD一般化との間に強い相関関係を示す。
論文 参考訳(メタデータ) (2022-07-05T14:55:16Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。