Nicolas Robles, Nicolás Potes, Kelly Garcés, Javier Luis Cánovas Izquierdo, Jordi Cabot
{"title":"公共REST api结构演变的探索性分析","authors":"Nicolas Robles, Nicolás Potes, Kelly Garcés, Javier Luis Cánovas Izquierdo, Jordi Cabot","doi":"10.5753/cibse.2023.24695","DOIUrl":null,"url":null,"abstract":"The software industry is in continuous evolution, forcing developers to quickly adapt to new requirements to catch up with the latest trends. A clear example is the huge demand for web-based APIs to connect all kinds of services among them. Like any other piece of software, a Web API is continuously changing, and with each change, all client applications must evolve. This adaptation process is critical and essential for software developers. In this paper, we present an exploratory evaluation of the most common changes occurring during the evolution of REST APIs. We define a taxonomy of structural API changes, which we classify according to their impact on client-side software; and propose a repository mining process to identify these changes in real Web APIs. We apply this process to a large set of Azure APIs from APISGURU, a well-known Open Source API repository. Based on the analyzed dataset from APISGURU, we found that breaking changes tend to decrease when a new version of an API from this dataset is released. Other useful findings and insights are discussed throughout the article.","PeriodicalId":146286,"journal":{"name":"Conferencia Iberoamericana de Software Engineering","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Exploratory Analysis of the Structural Evolution of public REST APIs\",\"authors\":\"Nicolas Robles, Nicolás Potes, Kelly Garcés, Javier Luis Cánovas Izquierdo, Jordi Cabot\",\"doi\":\"10.5753/cibse.2023.24695\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The software industry is in continuous evolution, forcing developers to quickly adapt to new requirements to catch up with the latest trends. A clear example is the huge demand for web-based APIs to connect all kinds of services among them. Like any other piece of software, a Web API is continuously changing, and with each change, all client applications must evolve. This adaptation process is critical and essential for software developers. In this paper, we present an exploratory evaluation of the most common changes occurring during the evolution of REST APIs. We define a taxonomy of structural API changes, which we classify according to their impact on client-side software; and propose a repository mining process to identify these changes in real Web APIs. We apply this process to a large set of Azure APIs from APISGURU, a well-known Open Source API repository. Based on the analyzed dataset from APISGURU, we found that breaking changes tend to decrease when a new version of an API from this dataset is released. Other useful findings and insights are discussed throughout the article.\",\"PeriodicalId\":146286,\"journal\":{\"name\":\"Conferencia Iberoamericana de Software Engineering\",\"volume\":\"21 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-04-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Conferencia Iberoamericana de Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5753/cibse.2023.24695\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conferencia Iberoamericana de Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5753/cibse.2023.24695","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Exploratory Analysis of the Structural Evolution of public REST APIs
The software industry is in continuous evolution, forcing developers to quickly adapt to new requirements to catch up with the latest trends. A clear example is the huge demand for web-based APIs to connect all kinds of services among them. Like any other piece of software, a Web API is continuously changing, and with each change, all client applications must evolve. This adaptation process is critical and essential for software developers. In this paper, we present an exploratory evaluation of the most common changes occurring during the evolution of REST APIs. We define a taxonomy of structural API changes, which we classify according to their impact on client-side software; and propose a repository mining process to identify these changes in real Web APIs. We apply this process to a large set of Azure APIs from APISGURU, a well-known Open Source API repository. Based on the analyzed dataset from APISGURU, we found that breaking changes tend to decrease when a new version of an API from this dataset is released. Other useful findings and insights are discussed throughout the article.