API evolution and compatibility: A data corpus and tool evaluation

dc.citation.issue4
dc.citation.volume16
dc.contributor.authorJezek K
dc.contributor.authorDietrich JB
dc.date.available2017-09-25
dc.date.issued2017-09-25
dc.description.abstractThe development of software components with independent release cycles is nowadays widely supported by multiple languages and frameworks. A critical feature of any such platform is to safeguard composition by ensuring backward compatibility of substituted components. In recent years, some tooling has been developed to help developers and DevOps engineers to establish whether components are backward compatible by means of static analysis. We investigate the state of the art in this space by benchmarking such tools for Java. For this purpose, we have developed a compact benchmark data set of less than 200KB. Using this dataset, we study possible API changes of Java libraries, and whether the tools investigated can detect them. We find that only a small number of tools suitable to analyse API evolution exist. Those tools are only infrequently maintained by small communities. All tools investigated have some shortcomings in that they fail to detect certain API incompatibilities.
dc.description.confidentialfalse
dc.format.extent1 - 23
dc.identifierhttp://www.jot.fm/
dc.identifierhttps://sites.google.com/site/jensdietrich/
dc.identifier.citationJournal of Object Technology, 2017, 16 (4), pp. 1 - 23
dc.identifier.doi10.5381/jot.2017.16.4.a2
dc.identifier.elements-id386908
dc.identifier.harvestedMassey_Dark
dc.identifier.issn1660-1769
dc.publisherAITO
dc.publisher.urihttp://www.jot.fm/
dc.relation.isPartOfJournal of Object Technology
dc.relation.urihttp://www.jot.fm/issues/issue_2017_04/article2.pdf
dc.rightsLicensed under Attribution 4.0 International (CC BY 4.0).
dc.subjectAPI
dc.subjectsource
dc.subjectbinary
dc.subjectcompatibility
dc.subjecttools
dc.subjectbyte-code
dc.subjectJava
dc.subject.anzsrc0803 Computer Software
dc.titleAPI evolution and compatibility: A data corpus and tool evaluation
dc.typeJournal article
pubs.notesNot known
pubs.organisational-group/Massey University
pubs.organisational-group/Massey University/College of Sciences
pubs.organisational-group/Massey University/College of Sciences/School of Engineering and Technology
Files
Collections