Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
An empirical investigation into problems caused by breaking changes in API evolution
KTH, School of Electrical Engineering and Computer Science (EECS).
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

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.

Abstract [sv]

För att evolvera ett API förändrar leverantören API:et och levererar nya versioner som konsumenter måste omfamna. Eftersom API:t definerar gränssnittet till tjänster kan förändingar få ödesdigra konsekvenser. För att lätta övergången mellan versioner infördes semantisk versionering. Trots att det är ett steg i rätt riktning är det inte hela lösningen. Denna rapport undersöker svårigheter som utvecklare på leverantörsidan stöter på genom intervjuer och kontrollerade experiment. Experimenten undersökte huruvida redundant funktionalitet orsakar fler fel i konsumentapplikationen eller bryter fler ändpunkter samt om semantiska förändringar är svårare att klassificera enligt semantisk versionering, jämfört med binära ändringar.Det avslöjas att redundant funktionalitet orsakar både fler fel i konsumentapplikationen samt fler brutna ändpunkter, dock ingen signifikant skillnad i underhållstid. Vidare visas det att semantiska ändringar är både svårare och mer tidskrävande att korrekt klassificera, jämfört med binära ändringar. Det avslöjas även en stark industriell koppling till utvecklingsmönstret expanderakontrahera, ett område outforskat av vetenskapen

Place, publisher, year, edition, pages
2019. , p. 52
Series
TRITA-EECS-EX ; 2019:479
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-255015OAI: oai:DiVA.org:kth-255015DiVA, id: diva2:1337263
Examiners
Available from: 2019-07-12 Created: 2019-07-12 Last updated: 2019-07-12Bibliographically approved

Open Access in DiVA

fulltext(1393 kB)23 downloads
File information
File name FULLTEXT01.pdfFile size 1393 kBChecksum SHA-512
ed9263f7007de7e36823f3a5c3ba8eb77571669e4cd253487fc9e299a1249130322ce7dad4c2a91659ba2d3846428523f2e90559c3d41a91e3504f2b7f957b8b
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 23 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 66 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf