論文の概要: 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の実用性をさらに実証している。
関連論文リスト
- You Can REST Now: Automated Specification Inference and Black-Box
Testing of RESTful APIs with Large Language Models [8.753312212588371]
APIを手動でドキュメンテーションすることは、時間がかかり、エラーを起こしやすいタスクであり、その結果、利用できない、不完全な、あるいは不正確なドキュメントになります。
近年,Large Language Models (LLMs) は,その余分なトレーニングデータに基づいてタスクを自動化できることを実証している。
私たちは、最初の自動API仕様推論とブラックボックステストアプローチであるRESTSpecITを紹介します。
論文 参考訳(メタデータ) (2024-02-07T18:55:41Z) - Leveraging Large Language Models to Improve REST API Testing [51.284096009803406]
RESTGPTはAPI仕様を入力として、機械解釈可能なルールを抽出し、仕様内の自然言語記述からサンプルパラメータ値を生成する。
評価の結果、RESTGPTはルール抽出と値生成の両方において既存の技術よりも優れています。
論文 参考訳(メタデータ) (2023-12-01T19:53:23Z) - Exploring Behaviours of RESTful APIs in an Industrial Setting [0.43012765978447565]
これらのAPIが示す振る舞いの例を生成するために,REST APIに共通する一連の動作特性を提案する。
これらの例は、APIの理解を深めるために(i)、自動テストケースのソースとして(ii)の両方に使用することができます。
提案手法は,システム理解と実践者によるテスト生成の源泉として考えられる例を生成することができる。
論文 参考訳(メタデータ) (2023-10-26T11:33:11Z) - APICom: Automatic API Completion via Prompt Learning and Adversarial
Training-based Data Augmentation [6.029137544885093]
APIレコメンデーションは、開発者が多数の候補APIの中で必要なAPIを見つけるのを支援するプロセスである。
これまでの研究では、主にAPIレコメンデーションをレコメンデーションタスクとしてモデル化していた。
ニューラルネットワーク翻訳研究領域に動機づけられたこの問題を生成タスクとしてモデル化することができる。
提案手法は,プロンプト学習に基づく新しいアプローチAPIComを提案し,そのプロンプトに応じてクエリに関連するAPIを生成する。
論文 参考訳(メタデータ) (2023-09-13T15:31:50Z) - Adaptive REST API Testing with Reinforcement Learning [54.68542517176757]
現在のテストツールは効率的な探索機構がなく、全ての操作とパラメータを等しく扱う。
現在のツールは、仕様にレスポンススキーマがない場合や、変種を示す場合に苦労している。
我々は、強化学習を取り入れた適応型REST APIテスト手法を提案し、探索中の操作を優先順位付けする。
論文 参考訳(メタデータ) (2023-09-08T20:27:05Z) - ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world
APIs [104.37772295581088]
オープンソースの大規模言語モデル(LLM)、例えばLLaMAは、ツール使用能力に大きく制限されている。
データ構築、モデルトレーニング、評価を含む汎用ツールであるToolLLMを紹介する。
ツール使用のためのインストラクションチューニングフレームワークであるToolBenchを,ChatGPTを使って自動構築する。
論文 参考訳(メタデータ) (2023-07-31T15:56:53Z) - Private-Library-Oriented Code Generation with Large Language Models [52.73999698194344]
本稿では,大規模言語モデル(LLM)をプライベートライブラリのコード生成に活用することに焦点を当てる。
プログラマがプライベートコードを書く過程をエミュレートする新しいフレームワークを提案する。
TorchDataEval、TorchDataComplexEval、MonkeyEval、BeatNumEvalの4つのプライベートライブラリベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-07-28T07:43:13Z) - A Practical Toolkit for Multilingual Question and Answer Generation [79.31199020420827]
我々は,マルチ言語QAGのオンラインサービスであるAutoQGと,モデル微調整,生成,評価のためのオールインワンPythonパッケージであるlmqgを紹介した。
また、事前訓練されたエンコーダ-デコーダ言語モデルのいくつかの変種を微調整した8言語でQAGモデルをリリースしています。
論文 参考訳(メタデータ) (2023-05-27T08:42:37Z) - Carving UI Tests to Generate API Tests and API Specification [8.743426215048451]
APIレベルのテストは、単体レベルのテストとUIレベルの(あるいはエンドツーエンドの)テストの間で重要な役割を果たす。
既存のAPIテストツールにはAPI仕様が必要である。
WebアプリケーションのAPIレベルのテストを可能にするために,UIテストを活用するアプローチを提案する。
論文 参考訳(メタデータ) (2023-05-24T03:53:34Z) - torchgfn: A PyTorch GFlowNet library [56.071033896777784]
torchgfnはPyTorchライブラリで、このニーズに対処することを目指している。
環境のためのシンプルなAPIと、サンプルと損失のための有用な抽象化を提供する。
論文 参考訳(メタデータ) (2023-05-24T00:20:59Z) - On the Effectiveness of Pretrained Models for API Learning [8.788509467038743]
開発者は、Excelファイルのパース、行ごとのテキストファイルの読み書きなど、特定の機能を実装するためにAPIを使うことが多い。
開発者は、より高速でクリーンな方法でアプリケーションを構築するために、自然言語クエリに基づいた自動API使用シーケンス生成の恩恵を受けることができる。
既存のアプローチでは、クエリが与えられたAPIシーケンスの検索や、RNNベースのエンコーダデコーダを使用してAPIシーケンスを生成するために、情報検索モデルを使用している。
論文 参考訳(メタデータ) (2022-04-05T20:33:24Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。