Our paper "A Large Scale Empirical Study on Software Reuse in Mobile Apps" has been accepted for the IEEE Software Journal (special issue on Next Generation Mobile Computing) and is currently available as a preprint. The paper is joint work with Israel J. Mojica, Bram Adams, Meiyappan Nagappan, Steffen Dienst, and Ahmed Hassan.
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.