Understanding reuse in the android market

Authors: Israel J. Mojica Ruiz Meiyappan Nagappan Bram Adams Ahmed E. Hassan

Venue: 2012 20th IEEE International Conference on Program Comprehension (ICPC), pp. 113--122, 2012

Year: 2012

Abstract: Mobile apps are software products developed to run on mobile devices, and are typically distributed via app stores. The mobile app market is estimated to be worth billions of dollars, with more than hundred of thousands of apps, and still increasing in number. This explosion of mobile apps is astonishing, given the short time span that they have been around. One possible explanation for this explosion could be the practice of software reuse. Yet, no research has studied such practice in mobile app development. In this paper, we intend to analyze software reuse in the Android mobile app market along two dimensions: (a) reuse by inheritance, and (b) class reuse. Since app stores only distribute the byte code of the mobile apps, and not the source code, we used the concept of Software Bertillonage to track code across mobile apps. A case study on thousands of mobile apps across five different categories in the Android Market shows that almost 23% of the classes inherit from a base class in the Android API, and 27% of the classes inherit from a domain specific base class. Furthermore, on average 61% of all classes in each category of mobile apps occur in two or more apps, and 217 mobile apps are reused completely by another mobile app in the same category.

Preprint: PDF

BibTeX:

@inproceedings{israelj.mojicaruiz2012uritam,
    author = "Israel J. Mojica Ruiz and Meiyappan Nagappan and Bram Adams and Ahmed E. Hassan",
    title = "Understanding reuse in the android market",
    year = "2012",
    pages = "113--122",
    booktitle = "Proc. of 2012 20th IEEE International Conference on Program Comprehension (ICPC)"
}

Plain Text:

Israel J. Mojica Ruiz, Meiyappan Nagappan, Bram Adams, and Ahmed E. Hassan, "Understanding reuse in the android market," 2012 20th IEEE International Conference on Program Comprehension (ICPC), pp. 113--122