课题基金 / 基金详情

Intelligent API Engineering: Systematically Leveraging APIs Through Development Knowledge and Usage Data

Intelligent API Engineering: Systematically Leveraging APIs Through Development Knowledge and Usage Data
智能 API 工程:通过开发知识和使用数据系统地利用 API
批准号:
RGPIN-2022-03505
负责人:
Lamothe, Maxime
金额:
$1.82万
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2022
资助国家:
加拿大
项目状态:
已结题
起止时间:
2022-01-01 至 2023-12-31

项目摘要

项目成果

Lamothe, Maxime的其他基金

相似基金

相关文献

中文摘要
翻译
软件在我们的日常生活和商业中比以往任何时候都更加普遍。在当今互联的世界中,服务器、台式机、移动设备、可穿戴设备和物联网设备的软件使用称为应用编程接口(API)的软件接口进行交互。此外,每个软件程序可以在内部使用多个API来访问现成的软件功能(例如,用于机器学习和数据)。由于软件开发人员越来越依赖API来利用现有软件,因此简化这些API的开发方式变得比以往任何时候都更加重要。在API后面隐藏实现细节的同时提供对软件功能的访问的做法可以节省软件开发时间并降低成本。然而,API通常是以特别的方式开发的,将其用户置于API开发人员的摆布之下。由于API开发人员通常几乎没有经验证据来作为他们决策的基础,他们可能并不可靠地知道如何改进他们的API。这些特别的开发实践可能会引起API用户的不满,并导致API用户在公开论坛上提出大量问题,抱怨API并询问如何绕过它们。即使是众所周知的、利润丰厚的软件API,如Android API,也不能幸免于这些挑战,并受到用户投诉。尽管API使用的自动化程度有所提高,但依赖外部API仍然需要一定程度的盲目信任。API用户必须相信他们使用的API会得到维护,并保持稳定和可用。然而,API开发人员目前没有资源来大规模提取API用户的需求。此外,监控和分析已部署的API以维护和改进它们的技术寥寥无几。因此,需要帮助开发API的技术、方法和指导方针来改进API开发实践。这项研究建议的目标是通过培养开发人员的知识和使用倾向来改进API工程实践。为了实现这一目标,我的研究计划旨在基于经验证据的智能API生命周期。因此,我打算通过创建技术来监控大型软件存储库数据中包含的API使用模式,从而为API开发人员提供API开发反馈。我计划利用挖掘的数据为API开发人员提取可操作的改进建议。最后,我建议在已知的API更改和API使用之间创建一个可跟踪链接的存储库,并创建一个可伸缩的分析基础设施,以允许API开发人员更好地设计他们的API。这些研究活动的结果将推动API开发人员的当前实践状态,从而产生更好、更可用的软件。此外,这项研究计划旨在培养高素质的人才(HQP),为他们在数据驱动的世界中脱颖而出做好准备,并为加拿大软件工程研究和实践的最先进水平做出贡献。
英文摘要
Software is ever more prevalent in our daily lives and businesses. In today's interconnected world, software for servers, desktops, mobile devices, wearables, and IoT devices interact using software interfaces called Application Programming Interfaces (API). Furthermore, each software program may internally employ multiple APIs to access ready made software functionality (e.g., for machine learning, and data). Because software developers increasingly rely on APIs to leverage existing software, it is becoming more important than ever to streamline how these APIs are developed. The practice of providing access to software functionality while hiding implementation details behind an API can save software development time and lower costs. However, APIs are often developed in ad-hoc ways, leaving their users at the mercy of API developers. Because API developers often have little empirical evidence on which to base their decisions, they may not reliably know how to improve their APIs. These ad-hoc development practices can give rise to API user dissatisfaction and lead to multitudes of questions from API users on open forums complaining about APIs and asking how to circumvent them. Even well known and lucrative software APIs, such as the Android API, are not immune to these challenges and suffer from user complaints. Despite advances in the automation of API usage, relying on external APIs still requires some degree of blind faith. API users must trust that the APIs that they use will be maintained and remain stable and available. However, API developers do not currently have the resources to extract API users needs at scale. Additionally, few techniques exist to monitor and analyze deployed APIs in order to maintain and improve them. Techniques, approaches, and guidelines to help develop APIs are thus required to improve API development practices. The goal of this research proposal is to improve API engineering practices through the cultivation of developer knowledge and usage tendencies. To achieve this goal, my research program is geared towards an intelligent API lifecycle based on empirical evidence. Thus, I intend to provide API development feedback for API developers by creating techniques to monitor the API usage patterns contained in large software repository data. I plan to leverage the mined data to extract actionable improvement suggestions for API developers. Finally, I propose to create a repository of traceability links between known API changes and API usages and create a scalable analytical infrastructure to allow API developers to better engineer their APIs. The results of these research activities will advance the current state of practice for API developers, resulting in better, more usable, software. Furthermore, this research proposal aims to train highly qualified personnel (HQP), preparing them to excel in a data-driven world and contribute to the state-of-the-art in software engineering research and practice in Canada.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Intelligent API Engineering: Systematically Leveraging APIs Through Development Knowledge and Usage Data
  • 批准号:
    DGECR-2022-00371
  • 项目类别:
    Discovery Launch Supplement
  • 资助金额:
    $0.91万
  • 财政年份:
    2022
  • 负责人:
    Lamothe, Maxime
  • 依托单位:
国内基金
海外基金
多智能体协同驱动的API文档逆向解析与需求自动生成方法研究
  • 批准号:
  • 项目类别:
    省市级项目
  • 资助金额:
    --
  • 批准年份:
    2025
  • 负责人:
    黄江平
  • 依托单位:
基于多源软件信息融合的API知识识别方法研究
  • 批准号:
  • 项目类别:
    青年科学基金项目
  • 资助金额:
    --
  • 批准年份:
    2024
  • 负责人:
    吴迪
  • 依托单位:
基于API知识图谱的代码检测和修复技术
  • 批准号:
    62302437
  • 项目类别:
    青年科学基金项目
  • 资助金额:
    30.00万元
  • 批准年份:
    2023
  • 负责人:
    任晓雪
  • 依托单位:
妊娠期体重轨迹通过影响子代呼吸道菌群在婴幼儿API阳性喘息中的作用及机制研究
  • 批准号:
    --
  • 项目类别:
    青年科学基金项目
  • 资助金额:
    30万元
  • 批准年份:
    2022
  • 负责人:
    李珍
  • 依托单位: