論文の概要: Names Are All You Need: Effective and Safe Regression Test Selection for Python
- arxiv url: http://arxiv.org/abs/2605.25356v1
- Date: Mon, 25 May 2026 02:20:29 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-05-26 19:50:19.248804
- Title: Names Are All You Need: Effective and Safe Regression Test Selection for Python
- Title(参考訳): 名前は必要なものすべて:Pythonの効果的で安全な回帰テスト選択
- Authors: You Wang, Michael Pradel, Zhongxin Liu,
- Abstract要約: 回帰テストの選択は、コードの変更によって影響を受けるテストだけを実行することで、回帰テストのコストを低減します。
本稿では,詳細な依存関係解析に基づく最初のPython RTSアプローチであるNameRTSを提案する。
- 参考スコア(独自算出の注目度): 18.117047833029073
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Regression test selection reduces the cost of regression testing by executing only those tests affected by a code change. Despite extensive study of RTS in statically typed languages, achieving effective and safe RTS in Python is challenging. Python's dynamic typing makes precise call-graph construction difficult, which can cause call-graph-based RTS to miss affected tests. Python's eager importing mechanism, in contrast, renders file-level dependency analysis overly conservative. This paper presents NameRTS, the first Python RTS approach based on fine-grained dependency analysis. NameRTS models a Python program as a bipartite graph of code element nodes and name nodes, with edges capturing definitions and references. RTS is formulated as a reachability problem on this graph: a test is selected if any modified code element is reachable from the names used in that test. This design avoids call-graph construction, enabling a conservative analysis amenable to safety. To control dependency cascades introduced by coarse name matching, NameRTS applies two pruning strategies that leverage prior test executions and context information to refine name matching. To evaluate NameRTS, we construct the first Python RTS dataset with a ground truth indicating which test files are affected by each commit. We compare NameRTS with the best-performing baseline, BabelRTS, an RTS technique based on coarse file-level dependencies. On this benchmark, NameRTS skips 69.90% of test files on average, outperforming BabelRTS by 146.5%. It also reduces end-to-end testing time by 45.59%, yielding a 107.7% improvement over BabelRTS. In terms of safety, NameRTS selects all affected tests for 99.6% of commits, with only rare misses in exceptional cases. In contrast, BabelRTS is safe for 76.6% of commits. These results demonstrate the effectiveness of NameRTS, paving the way for more efficient regression testing in Python.
- Abstract(参考訳): 回帰テストの選択は、コードの変更によって影響を受けるテストだけを実行することで、回帰テストのコストを低減します。
静的型付け言語におけるRTSの広範な研究にもかかわらず、Pythonで効果的で安全なRTSを実現することは難しい。
Pythonの動的型付けは正確なコールグラフの構築を困難にしているため、コールグラフベースのRTSは影響のあるテストに失敗する可能性がある。
対照的に、Pythonの熱心なインポートメカニズムは、ファイルレベルの依存性分析を過度に保守的である。
本稿では,詳細な依存関係解析に基づく最初のPython RTSアプローチであるNameRTSを提案する。
NameRTSはPythonプログラムをコード要素ノードと名前ノードの2部グラフとしてモデル化し、エッジが定義と参照をキャプチャする。
RTSは、このグラフ上の到達可能性問題として定式化され、変更されたコード要素がテストで使用される名前から到達可能であれば、テストが選択される。
この設計はコールグラフの構築を回避し、安全に配慮可能な保守的な分析を可能にする。
粗い名前マッチングによって導入された依存性のカスケードを制御するために、NameRTSは、事前のテスト実行とコンテキスト情報を利用して名前マッチングを洗練するための2つのプルーニング戦略を適用している。
NameRTSを評価するために,コミット毎にどのテストファイルが影響を受けるかを示す基底真理を持つ最初のPython RTSデータセットを構築した。
粗いファイルレベルの依存関係に基づいたRTS技術であるBabelRTSと比較した。
このベンチマークでは、NameRTSはテストファイルの69.90%をスキップし、BabelRTSを146.5%上回っている。
また、エンドツーエンドのテスト時間を45.59%削減し、BabelRTSよりも107.7%改善した。
安全性の面では、NameRTSは99.6%のコミットで影響を受けるすべてのテストを選択し、例外的なケースでは稀なミスしか発生しない。
対照的に、BabelRTSは76.6%のコミットに対して安全である。
これらの結果はNameRTSの有効性を示し、Pythonのより効率的な回帰テストの道を開いた。
関連論文リスト
- Correct Code, Vulnerable Dependencies: A Large Scale Measurement Study of LLM-Specified Library Versions [52.50730821321986]
大規模言語モデル(LLM)におけるバージョンレベルのリスクの大規模評価を初めて行った。
我々は1000のStack OverflowプログラミングタスクのベンチマークであるPinTrace上で10のLLMを評価した。
LLM バージョン選択は LLM ベース開発における第1級, 以前は見落とされたリスクサーフェスとして確認された。
論文 参考訳(メタデータ) (2026-05-07T13:52:59Z) - ATTest: Agent-Driven Tensor Testing for Deep Learning Library Modules [19.355376741404267]
ディープラーニング(DL)ライブラリの単体テストは、複雑な数値意味論と暗黙のテンソル制約のために困難である。
本稿では,モジュールレベルの単体テスト生成のためのエージェント駆動テストフレームワークであるATTestを提案する。
論文 参考訳(メタデータ) (2026-02-15T04:47:58Z) - Testing Deep Learning Libraries via Neurosymbolic Constraint Learning [3.491101173753068]
ディープラーニング(DL)ライブラリ(例えばPyTorch)はAI開発で人気がある。
DLライブラリをテストする上で重要な課題は、API仕様の欠如である。
動的に学習された入力制約を用いてDLライブラリAPIをテストする最初のニューロシンボリック手法であるCentaurを開発する。
論文 参考訳(メタデータ) (2026-01-21T21:54:41Z) - Agentic Property-Based Testing: Finding Bugs Across the Python Ecosystem [34.68658860352019]
プロパティベースのテスト(PBT)は、ランダム化テストフレームワークとして実装される軽量な形式的手法である。
本研究では,Pythonモジュールを解析し,コードやドキュメントから関数固有およびクロスファンクショナルプロパティを推論し,PBTを合成・実行するLLMベースのエージェントを実演する。
論文 参考訳(メタデータ) (2025-10-10T22:43:54Z) - Type-aware LLM-based Regression Test Generation for Python Programs [13.631541369653066]
Test4PyはPythonの自動テスト生成における型正しさを高める新しいフレームワークである。
Test4Pyは、生成したテストケースを段階的に洗練してカバレッジを改善する反復的な修復手順を統合する。
実世界のPythonモジュール183の評価において、Test4Pyは平均ステートメントカバレッジ83.0%、ブランチカバレッジ70.8%を達成した。
論文 参考訳(メタデータ) (2025-03-18T08:07:17Z) - STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - Fine-Grained Assertion-Based Test Selection [6.9290255098776425]
回帰テスト選択技術は、コードの変更によって影響を受けるテストのみを選択することで、テスト実行時間を短縮することを目的としている。
既存のテクニックでは、テストクラスのような粗い粒度のテストエンティティを選択しており、不正確なテストの選択や影響のないテストの実行を引き起こす。
本稿では,文レベルでのテストコードを分析し,テストアサーションを選択の単位として扱うことによって,選択精度を高める新しい手法を提案する。
論文 参考訳(メタデータ) (2024-03-24T04:07:30Z) - Taming Timeout Flakiness: An Empirical Study of SAP HANA [47.29324864511411]
不安定なテストは回帰テストに悪影響を及ぼします。
テストタイムアウトは、このような不安定なテストの失敗に寄与する要因のひとつです。
テストのフレキネス率は、繰り返しテストの実行回数によって49%から70%の範囲である。
論文 参考訳(メタデータ) (2024-02-07T20:01:41Z) - Generating Unbiased Pseudo-labels via a Theoretically Guaranteed
Chebyshev Constraint to Unify Semi-supervised Classification and Regression [57.17120203327993]
分類におけるしきい値と擬似ラベルプロセス(T2L)は、ラベルの品質を決定するために信頼性を使用する。
本質的には、レグレッションは高品質なラベルを生成するためにバイアスのない方法も必要である。
チェビシェフの不等式に基づく不偏ラベルを生成するための理論的に保証された制約を提案する。
論文 参考訳(メタデータ) (2023-11-03T08:39:35Z) - VarCLR: Variable Semantic Representation Pre-training via Contrastive
Learning [84.70916463298109]
VarCLRは変数名のセマンティック表現を学ぶための新しいアプローチである。
VarCLRはコントラスト学習に適しており、明示的に類似した入力間の距離を最小化することを目的としている。
VarCLRはBERTのような洗練された汎用言語モデルを効果的に適用できることを示す。
論文 参考訳(メタデータ) (2021-12-05T18:40:32Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。