2019
DOI: 10.1007/s10664-019-09756-z
|View full text |Cite
|
Sign up to set email alerts
|

You broke my code: understanding the motivations for breaking changes in APIs

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

4
21
0
2

Year Published

2020
2020
2024
2024

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 29 publications
(27 citation statements)
references
References 48 publications
4
21
0
2
Order By: Relevance
“…They identified five reasons: library simplification, refactoring, bug fixes, dependency changes, project policy. This study was later extended by Brito et al (A. Brito et al 2020) where they reported that 47% of breaking changes are due to refactorings. These results can be complemented by the previous study by Dig and Johnson (Dig & Johnson 2006) who analysed breaking changes in five Java systems and discovered that 81-100% of them are caused by refactorings.…”
Section: Related Workmentioning
confidence: 90%
“…They identified five reasons: library simplification, refactoring, bug fixes, dependency changes, project policy. This study was later extended by Brito et al (A. Brito et al 2020) where they reported that 47% of breaking changes are due to refactorings. These results can be complemented by the previous study by Dig and Johnson (Dig & Johnson 2006) who analysed breaking changes in five Java systems and discovered that 81-100% of them are caused by refactorings.…”
Section: Related Workmentioning
confidence: 90%
“…5) API Evolution: APIs evolve over time, and the changes often break the client developers' code (e.g. [13]). Generally, the most common API breaking changes are due to refactorings [14].…”
Section: Software Engineering Challengesmentioning
confidence: 99%
“…Introducing and removing new primitive algorithms suggest that there should exist CrySL rules for every version of that API that introduces a change. Using a customized version of apidiff, we also investigated breaking changes [6,8,49], that is, changes between consecutive releases of an API that break the client code. Next, we execute queries into this database and export the results to CSV files to analyze and understand the evolution of crypto APIs.…”
Section: Study Settingsmentioning
confidence: 99%
“…In the last Bouncy Castle release considered in our analysis (release 1.60), we identified more than 140 primitive implementations, among them 45 implementations of the BlockCipher interface. 6 Block cipher (45), message (b)…”
Section: Rq3: Variability Due To the Evolution Of The Apismentioning
confidence: 99%