Reducing the Impact of Breaking Changes to Web Service Clients During Web API
Web services are self-contained distributed services enabled by web service application programming interfaces (APIs) using numerous protocol and middleware types. Web service API evolution encompasses changes to a web API made during the lifetime of a web service. Web clients, such as mobile applications, must continuously adapt to breaking changes in the web API offered by web services. This adaptation is currently performed manually by web client developers. This paper presents an automated process for the adaptation based on web service API type-independent evolution patterns. These patterns enable the classification and resolution of web API changes in the context of continuously changing web API standards, protocols, and middleware types. Migration guides enable the generation of stable client libraries that replace the traditionally performed manual client-specific migrations. The process is instantiated using EVOLution (EVOL) Migrators, generating Swift-based client libraries for web clients. We demonstrate how migration guides can be automatically generated using OpenAPI specifications or based on web services developed using the EVOL framework. We build two Migrators using a resource-based and a remote procedure call-based web API type. We validated the applicability of these Migrators to 13 web service version increments featuring a total of 3896 changes. The process correctly identified 86.1% of the changes, including 1132 breaking changes. The breaking changes included 424 unsolvable changes that required manual migration guide improvements by the web service developers at predefined extension points.
Tue 16 MayDisplayed time zone: Hobart change
11:00 - 12:30 | Session 6Research Track / Tools and Datasets at Meeting Room 111 Chair(s): Mattia Fazzini University of Minnesota, Jacques Klein University of Luxembourg, Li Li Beihang University, Lili Wei McGill University | ||
11:00 20mTalk | Awards Research Track | ||
11:21 29mTalk | Achieving Energy Efficiency in Mobile Applications: Insights from our Most Influential Paper Research Track Luís Cruz Delft University of Technology | ||
11:50 25mPaper | Reducing the Impact of Breaking Changes to Web Service Clients During Web API Research Track Paul Schmiedmayer Technical University of Munich, Andreas Bauer Technical University of Munich, Bernd Bruegge TU Munich | ||
12:15 15mPaper | Issue-Labeler: an ALBERT-based Jira Plugin for Issue Classification Tools and Datasets Waleed Alhindi Prince Mohammad Bin Fahd University, Abdulrahman Aleid Prince Mohammad Bin Fahd University, Ilyes Jenhani Prince Mohammad Bin Fahd University, Mohamed Wiem Mkaouer Rochester Institute of Technology |