An empirical investigation into problems caused by breaking changes in API evolution

Detta är en Master-uppsats från KTH/Skolan för elektroteknik och datavetenskap (EECS)

Författare: Erik Dackebro; [2019]

Nyckelord: ;

Sammanfattning: To evolve an API, providers update the API and publish new versions, which consumers have to adopt. As the API defines the interface to a service, changing it can have severe consequences to consumers. To ease the transition between versions, semantic versioning was introduced and despite its good intention, many problems still remain. This report investigates difficulties experienced by provider developers in several interviews with professionals and a series of controlled experiments. The controlled experiments investigate if redundant functionality causes more consumer incompatibilities and broken endpoints and whether semantic changes are harder to correctly classify according to the semantic versioning standard when compared to binary changes. It is revealed that redundant functionality causes more endpoints and consumers to break, but no significant difference in maintenance time was observed. Further on it is revealed that semantic changes are both harder and more time consuming to classify when compared to binary changes. Interviews also revealed a strong industrial connection to the expand-and-contract development practice, an area unexplored by science.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)