论文标题

首先看一下Restful API的弃用:一项实证研究

A First Look at the Deprecation of RESTful APIs: An Empirical Study

论文作者

Yasmin, Jerin, Tian, Yuan, Yang, Jinqiu

论文摘要

代表性状态转移(REST)被认为是一种标准的软件体系结构样式,用于构建可以通过Internet集成软件系统的Web API。但是,在连接系统的同时,RESTFUL API也可能会破坏与其引入破坏更改时依赖其服务的相关应用程序,例如,不再支持API的较旧版本。为了及时警告开发人员,从而防止对下游应用程序的严重影响,应遵循折磨的模型,并还应列出与违规相关的信息,例如替代方法。尽管API贬值分析作为主题并不是什么新鲜事,但大多数现有的工作都集中在非WEB API上,例如Java和Android提供的工作。为了调查RESTFUL API贬值,我们提出了一个称为RADA(RESTFUL API折旧分析仪)的框架。 RADA能够自动识别不弃用的API元素并分析OpenAPI规范的影响操作,这是一个可读的机器可读配置文件,用于描述RESTFULE WEB服务。我们对从APIS.Guru收集的1,368个REST的2224个OpenAPI规格应用RADA。根据RADA挖掘的数据,我们进行了一项经验研究,以研究如何遵循ret依的API遵循折磨的协议,并表征了RESTFUL API弃用中的实践。我们的研究结果揭示了现有的Restful API中的几个严重的与折旧有关的问题。我们对RADA和详细的经验结果的实施公开可用于将来的智能工具,这些工具可以自动识别和迁移对客户端代码中不弃用的API操作的使用。

REpresentational State Transfer (REST) is considered as one standard software architectural style to build web APIs that can integrate software systems over the internet. However, while connecting systems, RESTful APIs might also break the dependent applications that rely on their services when they introduce breaking changes, e.g., an older version of the API is no longer supported. To warn developers promptly and thus prevent critical impact on downstream applications, a deprecated-removed model should be followed, and deprecation-related information such as alternative approaches should also be listed. While API deprecation analysis as a theme is not new, most existing work focuses on non-web APIs, such as the ones provided by Java and Android. To investigate RESTful API deprecation, we propose a framework called RADA (RESTful API Deprecation Analyzer). RADA is capable of automatically identifying deprecated API elements and analyzing impacted operations from an OpenAPI specification, a machine-readable profile for describing RESTful web service. We apply RADA on 2,224 OpenAPI specifications of 1,368 RESTful APIs collected from APIs.guru, the largest directory of OpenAPI specifications. Based on the data mined by RADA, we perform an empirical study to investigate how the deprecated-removed protocol is followed in RESTful APIs and characterize practices in RESTful API deprecation. The results of our study reveal several severe deprecation-related problems in existing RESTful APIs. Our implementation of RADA and detailed empirical results are publicly available for future intelligent tools that could automatically identify and migrate usage of deprecated RESTful API operations in client code.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源