2006
DOI: 10.1002/smr.328
|View full text |Cite
|
Sign up to set email alerts
|

How do APIs evolve? A story of refactoring

Abstract: Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, most updates are done manually. To better understand the requirements for migration tools, we studied the API changes of four frameworks and one library. We discovered that the changes that break existing applications are not random, but tend to fall into particular categories. Over 80% of these chan… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
170
1
2

Year Published

2007
2007
2021
2021

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 194 publications
(173 citation statements)
references
References 22 publications
0
170
1
2
Order By: Relevance
“…Dig and Johnson studied and classified the API breaking changes in 4 APIs (Dig and Johnson 2006); they did not investigate their impact on clients. They found that 80% of the changes were due to refactorings.…”
Section: Studies Of Api Evolutionmentioning
confidence: 99%
“…Dig and Johnson studied and classified the API breaking changes in 4 APIs (Dig and Johnson 2006); they did not investigate their impact on clients. They found that 80% of the changes were due to refactorings.…”
Section: Studies Of Api Evolutionmentioning
confidence: 99%
“…All libraries constitute a large client-base and are from different application domains. Moreover, three out of the eight subject libraries were used in prior work [8,9,10]. The chosen studied libraries range from being testing, logging, utilities and web-based libraries.…”
Section: Subject Librariesmentioning
confidence: 99%
“…Related, Dig and Johnson [9] manually inspected library release notes for documented API changes to investigate the role of refactoring during API evolution of a library. They cited two reasons why they preferred a manual analysis over the use of automated tools: (1) 'since most API changes follow a long deprecation replace-remove cycle, an obsolete API can coexist with the new API for a long time' and (2) some behavioral refactoring cases that 'would have been misinterpreted by a tool, but a human expert can easily spot'.…”
Section: Research Questionsmentioning
confidence: 99%
See 2 more Smart Citations