論文の概要: RESTRuler: Towards Automatically Identifying Violations of RESTful
Design Rules in Web APIs
- arxiv url: http://arxiv.org/abs/2402.13710v1
- Date: Wed, 21 Feb 2024 11:25:22 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-22 15:59:07.089795
- Title: RESTRuler: Towards Automatically Identifying Violations of RESTful
Design Rules in Web APIs
- Title(参考訳): RESTRuler: Web APIにおけるRESTfulデザインルールの違反を自動的に識別する
- Authors: Justus Bogner, Sebastian Kotstein, Daniel Abajirov, Timothy Ernst,
Manuel Merkel
- Abstract要約: 静的解析を用いてオープンAPI記述における設計規則違反を検出する,JavaベースのオープンソースツールであるRESTRulerを紹介する。
堅牢性のため、RESTRulerは、使用済みの現実世界のOpenAPI定義の99%をうまく分析した。
パフォーマンス効率向上のために、このツールは大部分のファイルに対して良好に動作し、CPUとRAM使用率の低い23秒未満で84%の分析が可能になった。
- 参考スコア(独自算出の注目度): 3.4711214580685557
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: RESTful APIs based on HTTP are one of the most important ways to make data
and functionality available to applications and software services. However, the
quality of the API design strongly impacts API understandability and usability,
and many rules have been specified for this. While we have evidence for the
effectiveness of many design rules, it is still difficult for practitioners to
identify rule violations in their design. We therefore present RESTRuler, a
Java-based open-source tool that uses static analysis to detect design rule
violations in OpenAPI descriptions. The current prototype supports 14 rules
that go beyond simple syntactic checks and partly rely on natural language
processing. The modular architecture also makes it easy to implement new rules.
To evaluate RESTRuler, we conducted a benchmark with over 2,300 public OpenAPI
descriptions and asked 7 API experts to construct 111 complicated rule
violations. For robustness, RESTRuler successfully analyzed 99% of the used
real-world OpenAPI definitions, with some failing due to excessive size. For
performance efficiency, the tool performed well for the majority of files and
could analyze 84% in less than 23 seconds with low CPU and RAM usage. Lastly,
for effectiveness, RESTRuler achieved a precision of 91% (ranging from 60% to
100% per rule) and recall of 68% (ranging from 46% to 100%). Based on these
variations between rule implementations, we identified several opportunities
for improvements. While RESTRuler is still a research prototype, the evaluation
suggests that the tool is quite robust to errors, resource-efficient for most
APIs, and shows good precision and decent recall. Practitioners can use it to
improve the quality of their API design.
- Abstract(参考訳): HTTPベースのRESTful APIは、アプリケーションやソフトウェアサービスでデータと機能を利用できるようにするための最も重要な方法の1つです。
しかし、API設計の品質はAPIの理解性とユーザビリティに強く影響を与え、多くのルールが規定されている。
多くの設計ルールの有効性を示す証拠はあるが、実践者が設計における規則違反を特定することは依然として困難である。
そこで我々は,静的解析を用いてオープンAPI記述における設計規則違反を検出するJavaベースのオープンソースツールであるRESTRulerを提案する。
現在のプロトタイプは、単純な構文チェックを超えて、部分的に自然言語処理に依存する14のルールをサポートしている。
モジュールアーキテクチャにより、新しいルールの実装も容易になる。
RESTRulerを評価するために、2300以上の公開OpenAPI記述によるベンチマークを実施し、7人のAPI専門家に111の複雑なルール違反の構築を依頼しました。
堅牢性のために、RESTRulerは、使用済みの現実世界のOpenAPI定義の99%をうまく分析した。
パフォーマンス効率の面では、ほとんどのファイルでうまく動作し、cpuとram使用量が少ない23秒未満で84%を解析できた。
最後に、有効性のために、RESTRulerは91%の精度(ルール毎に60%から100%まで)と68%のリコール(46%から100%まで)を達成した。
これらのルール実装の違いに基づいて、我々は改善の機会をいくつか挙げた。
RESTRulerはまだ研究のプロトタイプであるが、この評価はツールがエラーに対して非常に堅牢であり、ほとんどのAPIでリソース効率が良く、正確で適切なリコールを示していることを示唆している。
実践者はAPI設計の質を向上させるためにそれを使うことができます。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - Reinforcement Learning-Based REST API Testing with Multi-Coverage [4.127886193201882]
MUCORESTは、Qラーニングを利用してコードカバレッジと出力カバレッジを最大化する、新しい強化学習(RL)ベースのAPIテストアプローチである。
MUCORESTは、発見されたAPIバグの数で、最先端のAPIテストアプローチを11.6-261.1%上回っている。
論文 参考訳(メタデータ) (2024-10-20T14:20:23Z) - 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) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - Exception-aware Lifecycle Model Construction for Framework APIs [4.333061751230906]
本稿では,フレームワークAPIコードから例外要約情報を抽出するために静的解析手法を採用する。
フレームワーク/ライブラリプロジェクトの例外対応APIライフサイクルモデルを生成する。
60バージョンにおける例外無意識のAPIライフサイクルモデリングと比較して、JavaExpは18%以上のAPI変更を識別できる。
論文 参考訳(メタデータ) (2024-01-05T06:35:47Z) - Leveraging Large Language Models to Improve REST API Testing [51.284096009803406]
RESTGPTはAPI仕様を入力として、機械解釈可能なルールを抽出し、仕様内の自然言語記述からサンプルパラメータ値を生成する。
評価の結果、RESTGPTはルール抽出と値生成の両方において既存の技術よりも優れています。
論文 参考訳(メタデータ) (2023-12-01T19:53:23Z) - Adaptive REST API Testing with Reinforcement Learning [54.68542517176757]
現在のテストツールは効率的な探索機構がなく、全ての操作とパラメータを等しく扱う。
現在のツールは、仕様にレスポンススキーマがない場合や、変種を示す場合に苦労している。
我々は、強化学習を取り入れた適応型REST APIテスト手法を提案し、探索中の操作を優先順位付けする。
論文 参考訳(メタデータ) (2023-09-08T20:27:05Z) - RestGPT: Connecting Large Language Models with Real-World RESTful APIs [44.94234920380684]
ツール強化された大規模言語モデル(LLM)は、幅広いタスクに対処する上で、目覚ましい進歩を遂げている。
複雑な命令に対処する実践的な課題に対処するために,ロバストネスの力を利用するRestGPTを提案する。
RestGPTを十分に評価するために,実世界の2つのシナリオと人手による指示からなる高品質なベンチマークであるRestBenchを提案する。
論文 参考訳(メタデータ) (2023-06-11T08:53:12Z) - EDEFuzz: A Web API Fuzzer for Excessive Data Exposures [3.5061201620029885]
Excessive Data Exposure(EDE)は2019年で3番目に重大なAPI脆弱性である。
このような問題を効果的に発見し、修正する自動化ツールが、研究や業界でもほとんどありません。
EDEFuzzと呼ばれる最初のファジィツールを構築し、EDEを体系的に検出します。
論文 参考訳(メタデータ) (2023-01-23T04:05:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。