論文の概要: A Regression Testing Framework with Automated Assertion Generation for Machine Learning Notebooks
- arxiv url: http://arxiv.org/abs/2509.13656v1
- Date: Wed, 17 Sep 2025 03:05:16 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-09-18 18:41:50.701695
- Title: A Regression Testing Framework with Automated Assertion Generation for Machine Learning Notebooks
- Title(参考訳): 自動アクセレーション生成による機械学習ノートの自動回帰テストフレームワーク
- Authors: Yingao Elaine Yao, Vedant Nimje, Varun Viswanath, Saikat Dutta,
- Abstract要約: NBTest - 開発者がノートブックにセルレベルのアサーションを書くことができる最初の回帰テストフレームワークである。
NBTestはアサーションAPIのライブラリと、アサーションの実行を可能にするJupyterLabプラグインを提供する。
592カグルノートのNBTestを評価する。
- 参考スコア(独自算出の注目度): 2.5834567990387565
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Notebooks have become the de-facto choice for data scientists and machine learning engineers for prototyping and experimenting with machine learning (ML) pipelines. Notebooks provide an interactive interface for code, data, and visualization. However, notebooks provide very limited support for testing. Thus, during continuous development, many subtle bugs that do not lead to crashes often go unnoticed and cause silent errors that manifest as performance regressions. To address this, we introduce NBTest - the first regression testing framework that allows developers to write cell-level assertions in notebooks and run such notebooks in pytest or in continuous integration (CI) pipelines. NBTest offers a library of assertion APIs, and a JupyterLab plugin that enables executing assertions. We also develop the first automated approach for generating cell-level assertions for key components in ML notebooks, such as data processing, model building, and model evaluation. NBTest aims to improve the reliability and maintainability of ML notebooks without adding developer burden. We evaluate NBTest on 592 Kaggle notebooks. Overall, NBTest generates 21163 assertions (35.75 on average per notebook). The generated assertions obtain a mutation score of 0.57 in killing ML-specific mutations. NBTest can catch regression bugs in previous versions of the Kaggle notebooks using assertions generated for the latest versions. Because ML pipelines involve non deterministic computations, the assertions can be flaky. Hence, we also show how NBTest leverages statistical techniques to minimize flakiness while retaining high fault-detection effectiveness. NBTest has been adopted in the CI of a popular ML library. Further, we perform a user study with 17 participants that shows that notebook users find NBTest intuitive (Rating 4.3/5) and useful in writing assertions and testing notebooks (Rating 4.24/5).
- Abstract(参考訳): ノートブックは、機械学習(ML)パイプラインのプロトタイピングと実験のために、データサイエンティストと機械学習エンジニアにとって事実上の選択肢となっている。
ノートブックはコード、データ、可視化のためのインタラクティブなインターフェースを提供する。
しかし、ノートブックはテストに対して非常に限定的なサポートを提供する。
したがって、継続的開発の間は、クラッシュにつながることのない微妙なバグがしばしば気付かれず、パフォーマンスの低下として現れる無音エラーを引き起こす。
これに対処するため、最初の回帰テストフレームワークであるNBTestを紹介した。ノートブックにセルレベルのアサーションを記述し、pytestや継続的インテグレーション(CI)パイプラインでそのようなノートブックを実行することができる。
NBTestはアサーションAPIのライブラリと、アサーションの実行を可能にするJupyterLabプラグインを提供する。
また,データ処理やモデル構築,モデル評価など,MLノートブックのキーコンポーネントに対するセルレベルのアサーションを生成するための,最初の自動アプローチを開発した。
NBTestは、開発者の負担を増すことなく、MLノートブックの信頼性と保守性を改善することを目的としている。
592カグルノートのNBTestを評価する。
全体として、NBTestは21163のアサーションを生成する(ノートブック当たり平均35.75)。
生成されたアサーションはML固有の突然変異を死滅させる際の0.57の突然変異スコアを得る。
NBTestは、最新バージョンで生成されたアサーションを使用して、以前のバージョンのKaggleノートブックのレグレッションバグをキャッチできる。
MLパイプラインは非決定論的計算を含むため、アサーションは不安定である。
したがって,NBTestはフラキネスを最小限に抑えつつ,高い故障検出効率を維持しつつ,統計的手法を活用していることを示す。
NBTestは一般的なMLライブラリのCIで採用されている。
さらに,ノートブックユーザが直感的にNBTest(Rating 4.3/5)を見つけ,アサーションやテストノート(Rating 4.24/5)を書くのに有用であることを示す17人の参加者を対象に,ユーザスタディを実施している。
関連論文リスト
- Learning to Generate Unit Tests for Automated Debugging [52.63217175637201]
ユニットテスト(UT)は、コードの正確性を評価するだけでなく、大きな言語モデル(LLM)にフィードバックを提供する上でも重要な役割を果たします。
提案するUTGenは,LLMに対して,予測出力とともにエラーを示す単体テスト入力を生成することを教える。
UTGen は他の LLM ベースラインを7.59% 上回っていることを示す。
論文 参考訳(メタデータ) (2025-02-03T18:51:43Z) - AugmenTest: Enhancing Tests with LLM-Driven Oracles [2.159639193866661]
AugmenTestは、大規模な言語モデルを活用して、テスト中のソフトウェアの利用可能なドキュメントに基づいて、正しいオーラクルを推測するアプローチである。
AugmenTestには4つのバリエーションがある: Simple Prompt、Extended Prompt、ジェネリックプロンプト付きRAG(テスト中のクラスやメソッドのコンテキストなしで)とSimple Prompt付きRAG。
結果は、最も保守的なシナリオでは、AugmenTestのExtended PromptがSimple Promptを一貫して上回り、正しいアサーションを生成するために30%の成功率を達成したことを示している。
論文 参考訳(メタデータ) (2025-01-29T07:45:41Z) - STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - 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) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - An Empirical Evaluation of Using Large Language Models for Automated
Unit Test Generation [3.9762912548964864]
本稿では,自動単体テスト生成における大規模言語モデルの有効性について,大規模な実証評価を行った。
これはJavaScript用のテスト生成ツールで、npmパッケージ内のすべてのAPI関数のユニットテストを自動的に生成します。
TestPilotの生成されたテストの92.8%は、既存のテストと50%以上の類似性を持っていない。
論文 参考訳(メタデータ) (2023-02-13T17:13:41Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。