A Large Scale Empirical Study on Software Reuse in Mobile Apps
Authors -
Israel, J. Mojica;
Bram, Adams;
Meiyappan, Nagappan;
Steffen, Dienst;
Thorsten, Berger and
Ahmed, E. Hassan
Venue -
IEEE Software Special Issue on Next Generation Mobile Computing, Accepted November 2013
Related Tags -
Abstract -
Mobile apps are software products developed to run on mobile devices. In less than five years, the
number of apps has grown exponentially to more than one million in the largest mobile app stores.
One possible explanation for this exponential growth could be the adoption of well-proven software
engineering practices, in particular of software reuse, despite the often conjectured lack of training of
mobile app developers. We performed a study on hundreds of thousands of Android apps across 30
different categories to analyze software reuse in the Google Play app store. We found the following
about three kinds of reuse: (a) 18.75% of Android app classes inherit from a base class in the Android
API, and 35.78% of the classes inherit from a domain-specific base class; (b) 84.23% of classes across
all categories of mobile apps occur in two or more apps; (c) 17,109 mobile apps were a direct copy
of another app. Overall, app developers perform substantial software reuse, which means that they may
benefit from increased productivity, yet at the same time become more dependent on the quality of the
reused apps and libraries
Preprint -
PDF
BibTex -
@article{Mojica2013,
author = {Israel, J. Mojica and Bram, Adams and Meiyappan, Nagappan and Steffen, Dienst and Thorsten, Berger and Ahmed, E. Hassan},
keyword = {Mobile Apps, ESE in Ultra Large Repositories},
title = {A Large Scale Empirical Study on Software Reuse in Mobile Apps},
type = {journal},
venue = {IEEE Software Special Issue on Next Generation Mobile Computing, Accepted November 2013}
}