論文の概要: Automatic Unit Test Generation for Deep Learning Frameworks based on API
Knowledge
- arxiv url: http://arxiv.org/abs/2307.00404v1
- Date: Sat, 1 Jul 2023 18:34:56 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 18:35:10.308398
- Title: Automatic Unit Test Generation for Deep Learning Frameworks based on API
Knowledge
- Title(参考訳): API知識に基づくディープラーニングフレームワークの自動ユニットテスト生成
- Authors: Arunkaleeshwaran Narayanan, Nima Shiri harzevili, Junjie Wang, Lin
Shi, Moshi Wei, Song Wang
- Abstract要約: ディープラーニングフレームワークのAPIの単体テストケースを生成するために,MUTesterを提案する。
まず、APIドキュメントからAPI制約をマイニングするための18のルールを提案する。
次に、頻繁なアイテムセットマイニング技術を使用して、マシンラーニングAPI関連のコードフラグメントの大規模なコーパスからAPI使用パターンをマイニングします。
- 参考スコア(独自算出の注目度): 11.523398693942413
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Many automatic unit test generation tools that can generate unit test cases
with high coverage over a program have been proposed. However, most of these
tools are ineffective on deep learning (DL) frameworks due to the fact that
many of deep learning APIs expect inputs that follow specific API knowledge. To
fill this gap, we propose MUTester to generate unit test cases for APIs of deep
learning frameworks by leveraging the API constraints mined from the
corresponding API documentation and the API usage patterns mined from code
fragments in Stack Overflow (SO). Particularly, we first propose a set of 18
rules for mining API constraints from the API documents. We then use the
frequent itemset mining technique to mine the API usage patterns from a large
corpus of machine learning API related code fragments collected from SO.
Finally, we use the above two types of API knowledge to guide the test
generation of existing test generators for deep learning frameworks. To
evaluate the performance of MUTester, we first collect 1,971 APIs from four
widely-used deep learning frameworks (i.e., Scikit-learn, PyTorch, TensorFlow,
and CNTK) and for each API, we further extract its API knowledge, i.e., API
constraints and API usage. Given an API, MUTester combines its API knowledge
with existing test generators (e.g., search-based test generator PyEvosuite and
random test generator PyRandoop) to generate test cases to test the API.
Results of our experiment show that MUTester can significantly improve the
corresponding test generation methods and the improvement in code coverage is
15.7% to 27.0% on average. In addition, it can help reduce around 19.0% of
invalid tests generated by the existing test generators. Our user study with 16
developers further demonstrates the practicality of MUTester in generating test
cases for deep learning frameworks.
- Abstract(参考訳): プログラム上で高いカバレッジで単体テストケースを生成できる自動単体テスト生成ツールが数多く提案されている。
しかし、ディープラーニングAPIの多くは、特定のAPI知識に従うインプットを期待しているため、これらのツールのほとんどは、ディープラーニング(DL)フレームワークでは効果がない。
このギャップを埋めるために、我々はMUTesterを提案し、対応するAPIドキュメントから抽出したAPI制約とStack Overflow(SO)のコードフラグメントから抽出したAPI使用パターンを活用して、ディープラーニングフレームワークのAPIのユニットテストケースを生成する。
特に,APIドキュメントからAPI制約をマイニングするための18のルールセットを提案する。
次に、頻繁なアイテムセットマイニング技術を用いて、SOから収集された機械学習API関連コードフラグメントの大規模なコーパスからAPI使用パターンをマイニングする。
最後に、上記の2つのAPI知識を使って、ディープラーニングフレームワーク用の既存のテストジェネレータのテスト生成をガイドします。
MUTesterの性能を評価するために、まず広く使われている4つのディープラーニングフレームワーク(Scikit-learn、PyTorch、TensorFlow、CNTK)から1,971のAPIを収集し、それぞれのAPIに対して、APIの知識、すなわちAPI制約とAPI使用量をさらに抽出する。
APIが与えられた後、MUTesterはAPI知識を既存のテストジェネレータ(例えば、検索ベースのテストジェネレータPyEvosuiteとランダムテストジェネレータPyRandoop)と組み合わせて、APIをテストするテストケースを生成する。
実験の結果,MUTesterは対応するテスト生成方法を大幅に改善でき,コードカバレッジは平均15.7%から27.0%向上した。
さらに、既存のテストジェネレータによって生成される無効テストの約19.0%を削減できる。
16人の開発者によるユーザスタディでは、ディープラーニングフレームワークのテストケースの生成におけるMUTesterの実用性をさらに実証している。
関連論文リスト
- A Multi-Agent Approach for REST API Testing with Semantic Graphs and LLM-Driven Inputs [46.65963514391019]
私たちは、REST APIテストに依存性組み込みのマルチエージェントアプローチを採用する最初のブラックボックスフレームワークであるAutoRestTestを紹介します。
MARL(Multi-Agent Reinforcement Learning)とSPDG(Semantic Property Dependency Graph)とLLM(Large Language Models)を統合した。
このアプローチでは、REST APIテストを、API、依存性、パラメータ、バリューという4つのエージェントが協力して、API探索を最適化する、分離可能な問題として扱います。
論文 参考訳(メタデータ) (2024-11-11T16:20:27Z) - Model Equality Testing: Which Model Is This API Serving? [59.005869726179455]
2サンプルテスト問題であるモデル品質テストのような歪みの検出を形式化する。
単純な文字列カーネル上に構築されたテストは、歪みの範囲に対して77.4%の中央値を達成する。
次に、このテストを4つのLlamaモデルの商用推論APIに適用し、31のエンドポイントのうち11がMetaがリリースしたリファレンスウェイトとは異なる分布を提供することがわかった。
論文 参考訳(メタデータ) (2024-10-26T18:34:53Z) - A Systematic Evaluation of Large Code Models in API Suggestion: When, Which, and How [53.65636914757381]
API提案は、現代のソフトウェア開発において重要なタスクである。
大規模コードモデル(LCM)の最近の進歩は、API提案タスクにおいて有望であることを示している。
論文 参考訳(メタデータ) (2024-09-20T03:12:35Z) - Retrieval-Augmented Test Generation: How Far Are We? [8.84734567720785]
Retrieval Augmented Generation (RAG)は、ソフトウェアエンジニアリングタスクの顕著な進歩を示している。
このギャップを埋めるために,テスト生成におけるRAGベースのLCMの有効性を検討する。
具体的には,1) APIドキュメント,2) GitHubイシュー,3) StackOverflow Q&Aの3種類のドメイン知識に基づいて構築されたRAGについて検討する。
論文 参考訳(メタデータ) (2024-09-19T11:48:29Z) - APITestGenie: Automated API Test Generation through Generative AI [2.0716352593701277]
APITestGenieはビジネス要件とAPI仕様から実行可能なAPIテストスクリプトを生成する。
10の現実世界のAPIを使った実験では、ツールが有効なテストスクリプトを57%生成した。
人間の介入は、CI/CDパイプラインに統合される前に生成されたスクリプトを検証または洗練するために推奨される。
論文 参考訳(メタデータ) (2024-09-05T18:02:41Z) - DeepREST: Automated Test Case Generation for REST APIs Exploiting Deep Reinforcement Learning [5.756036843502232]
本稿では、REST APIを自動テストするための新しいブラックボックスアプローチであるDeepRESTを紹介します。
深い強化学習を活用して、暗黙のAPI制約、すなわちAPIドキュメントから隠された制約を明らかにする。
実験により,提案手法は高いテストカバレッジと故障検出を実現する上で極めて有効であることが示唆された。
論文 参考訳(メタデータ) (2024-08-16T08:03:55Z) - KAT: Dependency-aware Automated API Testing with Large Language Models [1.7264233311359707]
KAT(Katalon API Testing)は、APIを検証するためのテストケースを自律的に生成する、AI駆動の新たなアプローチである。
実世界の12のサービスを用いたKATの評価は、検証カバレッジを改善し、文書化されていないステータスコードを検出し、これらのサービスの偽陽性を低減できることを示している。
論文 参考訳(メタデータ) (2024-07-14T14:48:18Z) - WorldAPIs: The World Is Worth How Many APIs? A Thought Experiment [49.00213183302225]
本稿では, wikiHow 命令をエージェントの配置ポリシーに基礎付けることで, 新たな API を創出するフレームワークを提案する。
大規模言語モデル (LLM) の具体化計画における近年の成功に触発されて, GPT-4 のステアリングを目的とした数発のプロンプトを提案する。
論文 参考訳(メタデータ) (2024-07-10T15:52:44Z) - Leveraging Large Language Models to Improve REST API Testing [51.284096009803406]
RESTGPTはAPI仕様を入力として、機械解釈可能なルールを抽出し、仕様内の自然言語記述からサンプルパラメータ値を生成する。
評価の結果、RESTGPTはルール抽出と値生成の両方において既存の技術よりも優れています。
論文 参考訳(メタデータ) (2023-12-01T19:53:23Z) - Private-Library-Oriented Code Generation with Large Language Models [52.73999698194344]
本稿では,大規模言語モデル(LLM)をプライベートライブラリのコード生成に活用することに焦点を当てる。
プログラマがプライベートコードを書く過程をエミュレートする新しいフレームワークを提案する。
TorchDataEval、TorchDataComplexEval、MonkeyEval、BeatNumEvalの4つのプライベートライブラリベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-07-28T07:43:13Z) - Carving UI Tests to Generate API Tests and API Specification [8.743426215048451]
APIレベルのテストは、単体レベルのテストとUIレベルの(あるいはエンドツーエンドの)テストの間で重要な役割を果たす。
既存のAPIテストツールにはAPI仕様が必要である。
WebアプリケーションのAPIレベルのテストを可能にするために,UIテストを活用するアプローチを提案する。
論文 参考訳(メタデータ) (2023-05-24T03:53:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。