2018
DOI: 10.1016/j.infsof.2017.09.007
|View full text |Cite
|
Sign up to set email alerts
|

An empirical study on the impact of refactoring activities on evolving client-used APIs

Abstract: Context: Refactoring is recognized as an effective practice to maintain evolving software systems. For software libraries, we study how library developers refactor their Application Programming Interfaces (APIs), especially when it impacts client users by breaking an API of the library. Objective: Our work aims to understand how clients that use a library API are affected by refactoring activities. We target popular libraries that potentially impact more library client users. Method: We distinguish between lib… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 32 publications
(15 citation statements)
references
References 40 publications
0
15
0
Order By: Relevance
“…Consequently, APIs-being software themselves-undergo continual and progressive change over time. The motivation behind this evolution is to provide more value to users by patching security issues, adding new features, simplifying the current API, fixing bugs, and improving maintainability [13,28].…”
Section: Api Evolution and Backwards Compatibilitymentioning
confidence: 99%
“…Consequently, APIs-being software themselves-undergo continual and progressive change over time. The motivation behind this evolution is to provide more value to users by patching security issues, adding new features, simplifying the current API, fixing bugs, and improving maintainability [13,28].…”
Section: Api Evolution and Backwards Compatibilitymentioning
confidence: 99%
“…They have noticed the following points: (a) the maintainers of the library have lower likelihood of breaking the client-used APIs in comparison with other library classes, (b) the found refactoring processed breaks only < 37% of the client-utilized APIs, (c) the remaining (63%) breakages of the API are triggered with the issues of the maintenance which will be possibly involving more complicated refactoring processes. (d) Simple refactoring processes (such as rename approach, move approach, and move field) have been applied less often to the client-used classes of the APIs, in comparison with other class types [32]. In the same year, Mohan explores a Search-based software maintenance (SBSM), develops and proposes a new tool for fully automated Java software maintenance with the use of the multi-objective, monoobjective, and many-objective methods of the searching.…”
Section: Literature Review Of Refactoringmentioning
confidence: 99%
“…Datasets such as fine-GRAPE (Sawant and Bacchelli 2017) provide researchers with information on API usage for understanding the evolution and impact of deprecation (Robbes et al 2012;Sawant et al 2018b) and refactoring (Kula et al 2018) decisions in libraries. As demonstrated in (Robbes et al 2012)'s API deprecation analysis of the Smalltalk ecosystem, the absence of sequences or chains of API calls in such datasets limits the scope of additional confounding variables influencing the decision-making of APIs.…”
Section: Transitive Api Usagementioning
confidence: 99%