Prof. Dr. Cesare Pautasso

Interactively exploring API changes and versioning consistency

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

Bibtex

@inproceedings{apiace:2023:vissoft,
	author = {Souhaila Serbout and Diana Carolina Mu\~noz Hurtado and Cesare Pautasso},
	title = {Interactively exploring API changes and versioning consistency},
	booktitle = {11th IEEE Working Conference on Software Visualization (VISSOFT 2023)},
	year = {2023},
	month = {October},
	pages = {28-39},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Bogota, Colombia},
	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.},
	keywords = {API Versioning; Software Visualization},
	doi = {10.1109/VISSOFT60811.2023.00013},
	url = {https://ieeexplore.ieee.org/document/10350155}
}