中文

API-Miner:一个 API 到 API 的规范推荐引擎

软件工程 2023-07-20 v2 人工智能

摘要

在为大型项目设计新 API 时,开发者需要做出明智的设计选择,以使代码库能够可持续地增长。为确保新 API 组件设计良好,开发者可从现有 API 组件中学习。然而,缺乏比较 API 设计的标准化方法使这一学习过程耗时且困难。为弥补这一空白,我们开发了 API-Miner,据我们所知,它是首批 API 到 API 的规范推荐引擎之一。API-Miner 检索以 OpenAPI(一种广泛采用的用于描述 Web API 的语言)编写的相关规范组件。API-Miner 提出了若干重要贡献,包括:(1)从 OpenAPI 规范中处理和提取关键信息的新方法;(2)针对高度技术性的 API 规范领域优化的创新特征提取技术;(3)一种新颖的对数线性概率模型,该模型结合多种信号,在给定查询规范时检索相关且高质量的 OpenAPI 规范组件。我们在定量与定性任务上评估了 API-Miner,取得了 91.7% 的 recall@1 与 56.2% 的 F1,分别超越基线表现 15.4%(recall@1)与 3.2%(F1)。总体而言,API-Miner 将允许开发者在 API 开发周期的早期阶段从公共或内部数据库中检索相关 OpenAPI 规范组件,从而让他们能从已有成熟示例中学习,并可能识别工作中的冗余。它为开发者提供了加速开发流程、贡献经过深思熟虑设计且提升代码可维护性与质量的 API 所需的指导。代码已在 GitHub 上提供:https://github.com/jpmorganchase/api-miner。

关键词

引用

@article{arxiv.2212.07253,
  title  = {API-Miner: an API-to-API Specification Recommendation Engine},
  author = {Sae Young Moon and Gregor Kerr and Fran Silavong and Sean Moran},
  journal= {arXiv preprint arXiv:2212.07253},
  year   = {2023}
}