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}
}