Souhaila Serbout, Diana Carolina Muñoz Hurtado, Cesare Pautasso
11th IEEE Working Conference on Software Visualization (VISSOFT 2023), Bogota, Colombia, pp. 28-39
October 2023
Abstract
Application Programming Interfaces (APIs) evolve over time. As they change, they are expected to be versioned based on how changes might affect their clients. In this paper, we present two novel visualizations specifically designed to represent all structural changes and the level of adherence to semantic versioning practices over time. They can also serve for characterizing and comparing the evolution history of different Web APIs. The API VERSION CLOCK helps to visualize the sequence of API changes over time and highlight inconsistencies between major, minor, or patch version changes and the corresponding introduced breaking or non-breaking changes applied to the API. The API CHANGES overview aggregates all changes to an OpenAPI (OAS) description, highlighting the unstable vs. the stable elements of the API over its entire history. Both visualizations can be automatically created using the APICTURE, a command-line and web-based tool that analyzes the histories of git code repositories containing OAS descriptions, extracting the necessary data for generating visualizations and computing metrics related to API evolution and versioning. The visualizations have been successfully applied to classify, compare, and interactively explore the multi-year evolution history of APIs with up to hundreds of individual commits.
Download
URL: https://ieeexplore.ieee.org/document/10350155
DOI: 10.1109/VISSOFT60811.2023.00013
PDF: ▼apiace-vissoft2023.pdf (3MB)
Citation
- Souhaila Serbout, Diana Carolina Muñoz Hurtado, Cesare Pautasso, Interactively exploring API changes and versioning consistency, Proc. of the 11th IEEE Working Conference on Software Visualization (VISSOFT 2023), Bogota, Colombia, October 2023, pp. 28-39