API-Miner: an API-to-API Specification Recommendation Engine

要約

大規模なプロジェクト用に新しい API を設計する場合、開発者はコード ベースが持続的に成長できるように賢明な設計選択を行う必要があります。
新しい API コンポーネントが適切に設計されていることを確認するために、開発者は既存の API コンポーネントから学ぶことができます。
ただし、API 設計を比較するための標準化された方法がないため、この学習プロセスは時間がかかり、困難になります。
このギャップに対処するために、私たちは、私たちの知る限り、最初の API 間仕様推奨エンジンの 1 つである API-Miner を開発しました。
API-Miner は、OpenAPI (Web API を記述するために広く採用されている言語) で記述された関連仕様コンポーネントを取得します。
API マイナーは、(1) OpenAPI 仕様から重要な情報を処理および抽出する新しい方法、(2) 高度に技術的な API 仕様ドメイン向けに最適化された革新的な特徴抽出技術、(3) 新しいログなど、いくつかの重要な貢献を提供します。
– 複数の信号を組み合わせて、クエリ仕様が与えられた関連する高品質な OpenAPI 仕様コンポーネントを取得する線形確率モデル。
API-Miner を定量的タスクと定性的タスクの両方で評価し、全体で 91.7% の再現率 @1 と 56.2% F1 を達成しました。これは、ベースラインのパフォーマンスを再現率 @1 で 15.4%、F1 で 3.2% 上回っています。
全体として、API-Miner を使用すると、開発者は API 開発サイクルの初期段階で公開データベースまたは内部データベースから関連する OpenAPI 仕様コンポーネントを取得できるため、既存の確立された例から学習し、作業の冗長性を潜在的に特定できるようになります。
これは、開発者が開発プロセスを加速し、コードの保守性と品質を促進する思慮深く設計された API に貢献するために必要なガイダンスを提供します。
コードは GitHub (https://github.com/jpmorganchase/api-miner) で入手できます。

要約(オリジナル)

When designing a new API for a large project, developers need to make smart design choices so that their code base can grow sustainably. To ensure that new API components are well designed, developers can learn from existing API components. However, the lack of standardized methods for comparing API designs makes this learning process time-consuming and difficult. To address this gap we developed API-Miner, to the best of our knowledge, one of the first API-to-API specification recommendation engines. API-Miner retrieves relevant specification components written in OpenAPI (a widely adopted language used to describe web APIs). API-miner presents several significant contributions, including: (1) novel methods of processing and extracting key information from OpenAPI specifications, (2) innovative feature extraction techniques that are optimized for the highly technical API specification domain, and (3) a novel log-linear probabilistic model that combines multiple signals to retrieve relevant and high quality OpenAPI specification components given a query specification. We evaluate API-Miner in both quantitative and qualitative tasks and achieve an overall of 91.7% recall@1 and 56.2% F1, which surpasses baseline performance by 15.4% in recall@1 and 3.2% in F1. Overall, API-Miner will allow developers to retrieve relevant OpenAPI specification components from a public or internal database in the early stages of the API development cycle, so that they can learn from existing established examples and potentially identify redundancies in their work. It provides the guidance developers need to accelerate development process and contribute thoughtfully designed APIs that promote code maintainability and quality. Code is available on GitHub at https://github.com/jpmorganchase/api-miner.

arxiv情報

著者 Sae Young Moon,Gregor Kerr,Fran Silavong,Sean Moran
発行日 2023-07-19 17:30:33+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.SE パーマリンク