Our system is currently under heavy load due to increased usage. We're actively working on upgrades to improve performance. Thank you for your patience.
2017
DOI: 10.5381/jot.2017.16.4.a2
|View full text |Cite
|
Sign up to set email alerts
|

API Evolution and Compatibility: A Data Corpus and Tool Evaluation.

Abstract: The 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 to… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
13
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 19 publications
(13 citation statements)
references
References 36 publications
0
13
0
Order By: Relevance
“…Static analysis. Various tools can scan two versions of a library using static analysis to output the list of BCs between them [14]. This approach is more complete than regression testing (although false positives or negatives can arise), therefore it is unlikely that BCs will leak to clients.…”
Section: Background and Motivating Examplementioning
confidence: 99%
See 1 more Smart Citation
“…Static analysis. Various tools can scan two versions of a library using static analysis to output the list of BCs between them [14]. This approach is more complete than regression testing (although false positives or negatives can arise), therefore it is unlikely that BCs will leak to clients.…”
Section: Background and Motivating Examplementioning
confidence: 99%
“…To evaluate BreakBot, we plan to use both quantitative and qualitative evaluation methods. We will first investigate the accuracy of Maracas during the BCs and impact analysis phases using a proper benchmark such as the one introduced by Jezek and Dietrich [14]. Second, we aim at better understanding the current state of practice when dealing with change and the effects of BreakBot on these practices.…”
Section: Future Plansmentioning
confidence: 99%
“…The κ label in the actions is used to distinguish calls to the same function. 8 In an argument read action, κ →arg j , the label κ identifies the function call for which the argument is being read. The purpose of these modifications to the Path mechanism becomes clear when we explain the type regression testing phase in Section 5.…”
Section: Phase I: Model Generationmentioning
confidence: 99%
“…A few tools exist for helping developers detect breaking changes before an update is released to the clients. Examples include APIDiff, Clirr, and Revapi for Java [8], the elm diff tool 2 for elm, and NoRegrets [15] and dont-break 3 for JavaScript. A common property of these tools is that they compute the changes to the types of the public API of the library for a given update, and then identify the changes that may break clients.…”
mentioning
confidence: 99%
See 1 more Smart Citation