Title
Splitting APIs: an exploratory study of software unbundling
Abstract
Software unbundling consists of dividing an existing software artifact into smaller ones. Unbundling can be useful for removing clutter from the original application or separating different features that may not share the same purpose, or simply for isolating an emergent functionality that merits to be an application on its own. This phenomenon is frequent with mobile apps and it is also propagating to APIs. This paper proposes a first empirical study on unbundling to understand its effects on popular APIs. We explore the possibilities of splitting libraries into 2 or more bundles based on the use that their client projects make of them. We mine over than 71,000 client projects of 10 open source APIs and automatically generate 2,090 sub-APIs to then study their properties. We find that it is possible to have sets of different ways of using a given API and to unbundle it accordingly; the bundles can vary their representativeness and uniqueness, which is analyzed thoroughly in this study.
Year
DOI
Venue
2019
10.1109/MSR.2019.00062
Proceedings of the 16th International Conference on Mining Software Repositories
Keywords
Field
DocType
api usage, exploratory study, mining software repositories, modularity, software unbundling
Uniqueness,Software engineering,Division (mathematics),Computer science,Representativeness heuristic,Software,Unbundling,Exploratory research,Empirical research,Modularity,Database
Conference
ISSN
ISBN
Citations 
2574-3848
978-1-7281-3370-6
0
PageRank 
References 
Authors
0.34
18
3
Name
Order
Citations
PageRank
Anderson S. Matos100.34
João B. Ferreira Filho2161.01
Lincoln Rocha39311.22