論文の概要: DeepREST: Automated Test Case Generation for REST APIs Exploiting Deep Reinforcement Learning
- arxiv url: http://arxiv.org/abs/2408.08594v1
- Date: Fri, 16 Aug 2024 08:03:55 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-19 16:07:32.448681
- Title: DeepREST: Automated Test Case Generation for REST APIs Exploiting Deep Reinforcement Learning
- Title(参考訳): DeepREST: 深層強化学習を爆発させるREST APIの自動テストケース生成
- Authors: Davide Corradini, Zeno Montolli, Michele Pasqua, Mariano Ceccato,
- Abstract要約: 本稿では、REST APIを自動テストするための新しいブラックボックスアプローチであるDeepRESTを紹介します。
深い強化学習を活用して、暗黙のAPI制約、すなわちAPIドキュメントから隠された制約を明らかにする。
実験により,提案手法は高いテストカバレッジと故障検出を実現する上で極めて有効であることが示唆された。
- 参考スコア(独自算出の注目度): 5.756036843502232
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automatically crafting test scenarios for REST APIs helps deliver more reliable and trustworthy web-oriented systems. However, current black-box testing approaches rely heavily on the information available in the API's formal documentation, i.e., the OpenAPI Specification (OAS for short). While useful, the OAS mostly covers syntactic aspects of the API (e.g., producer-consumer relations between operations, input value properties, and additional constraints in natural language), and it lacks a deeper understanding of the API business logic. Missing semantics include implicit ordering (logic dependency) between operations and implicit input-value constraints. These limitations hinder the ability of black-box testing tools to generate truly effective test cases automatically. This paper introduces DeepREST, a novel black-box approach for automatically testing REST APIs. It leverages deep reinforcement learning to uncover implicit API constraints, that is, constraints hidden from API documentation. Curiosity-driven learning guides an agent in the exploration of the API and learns an effective order to test its operations. This helps identify which operations to test first to take the API in a testable state and avoid failing API interactions later. At the same time, experience gained on successful API interactions is leveraged to drive accurate input data generation (i.e., what parameters to use and how to pick their values). Additionally, DeepREST alternates exploration with exploitation by mutating successful API interactions to improve test coverage and collect further experience. Our empirical validation suggests that the proposed approach is very effective in achieving high test coverage and fault detection and superior to a state-of-the-art baseline.
- Abstract(参考訳): REST APIのテストシナリオの自動作成は、より信頼性が高く信頼性の高いWeb指向システムを提供するのに役立つ。
しかしながら、現在のブラックボックステストのアプローチは、APIの正式なドキュメンテーション、すなわちOpenAPI Specification(略してOAS)で利用できる情報に大きく依存している。
OASは主にAPIの構文的側面(オペレーション間のプロデューサとコンシューマの関係、入力値プロパティ、自然言語のさらなる制約など)をカバーしていますが、APIビジネスロジックの深い理解は欠如しています。
不足するセマンティクスには、操作間の暗黙的な順序付け(論理的依存関係)と暗黙的な入力値制約が含まれる。
これらの制限は、ブラックボックステストツールが真に効果的なテストケースを自動的に生成する能力を妨げます。
本稿では、REST APIを自動テストするための新しいブラックボックスアプローチであるDeepRESTを紹介します。
深い強化学習を活用して、暗黙のAPI制約、すなわちAPIドキュメントから隠された制約を明らかにする。
好奇心駆動学習は、APIの探索においてエージェントを誘導し、その操作をテストする効果的な順序を学ぶ。
これによって、最初にAPIをテスト可能な状態にするために、どの操作をテストすべきかを特定し、後でAPIのインタラクションが失敗するのを避けることができる。
同時に、成功したAPIインタラクションで得られた経験を利用して、正確な入力データ生成(どのパラメータを使うか、どのように値を選択するか)を駆動します。
さらに、DeepRESTは、成功したAPIインタラクションを変更して、テストカバレッジを改善し、さらなるエクスペリエンスを収集することで、エクスプロイトとエクスプロイトを交換する。
実験により,提案手法は高いテストカバレッジと故障検出を実現する上で非常に有効であり,最先端のベースラインよりも優れていることが示唆された。
関連論文リスト
- 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) - FANTAstic SEquences and Where to Find Them: Faithful and Efficient API Call Generation through State-tracked Constrained Decoding and Reranking [57.53742155914176]
APIコール生成は、大規模言語モデルのツール使用能力の基盤となっている。
既存の教師付きおよびコンテキスト内学習アプローチは、高いトレーニングコスト、低いデータ効率、APIドキュメントとユーザの要求に反する生成APIコールに悩まされる。
本稿では,これらの制約に対処するため,FANTASEと呼ばれる出力側最適化手法を提案する。
論文 参考訳(メタデータ) (2024-07-18T23:44:02Z) - 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) - A Solution-based LLM API-using Methodology for Academic Information Seeking [49.096714812902576]
SoAyは学術情報検索のためのソリューションベースのLLM API利用方法論である。
ソリューションが事前に構築されたAPI呼び出しシーケンスである場合、推論メソッドとしてソリューションを備えたコードを使用する。
その結果、最先端のLLM APIベースのベースラインと比較して34.58-75.99%のパフォーマンス改善が見られた。
論文 参考訳(メタデータ) (2024-05-24T02:44:14Z) - 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) - Adaptive REST API Testing with Reinforcement Learning [54.68542517176757]
現在のテストツールは効率的な探索機構がなく、全ての操作とパラメータを等しく扱う。
現在のツールは、仕様にレスポンススキーマがない場合や、変種を示す場合に苦労している。
我々は、強化学習を取り入れた適応型REST APIテスト手法を提案し、探索中の操作を優先順位付けする。
論文 参考訳(メタデータ) (2023-09-08T20:27:05Z) - Carving UI Tests to Generate API Tests and API Specification [8.743426215048451]
APIレベルのテストは、単体レベルのテストとUIレベルの(あるいはエンドツーエンドの)テストの間で重要な役割を果たす。
既存のAPIテストツールにはAPI仕様が必要である。
WebアプリケーションのAPIレベルのテストを可能にするために,UIテストを活用するアプローチを提案する。
論文 参考訳(メタデータ) (2023-05-24T03:53:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。