Abstract
The mobile app market continues to grow at a tremendous rate. The market provides a convenient and efficient distribution mechanism for updating apps. App developers continuously leverage such mechanism to update their apps at a rapid pace. The mechanism is ideal for publishing emergency updates (i.e., updates that are published soon after the previous update). In this paper, we study such emergency updates in the Google Play Store. Examining more than 44,000 updates of over 10,000 mobile apps in the Google Play Store, we identify 1,000 emergency updates. By studying the characteristics of such emergency updates, we find that the emergency updates often have a long lifetime (i.e., they are rarely followed by another emergency update). Updates preceding emergency updates often receive a higher ratio of negative reviews than the emergency updates. However, the release notes of emergency updates rarely indicate the rationale for such updates. Hence, we manually investigate the binary changes of several of these emergency updates. We find eight patterns of emergency updates. We categorize these eight patterns along two categories “Updates due to deployment issues” and “Updates due to source code changes”. We find that these identified patterns of emergency updates are often associated with simple mistakes, such as using a wrong resource folder (e.g., images or sounds) for an app. We manually examine each pattern and document its causes and impact on the user experience. App developers should carefully avoid these patterns in order to improve the user experience.




Similar content being viewed by others
Notes
http://tweakker.com, the app was available during the study period but the Google Play Store no longer hosts this app at the time of the writing of this paper.
We refer to the release note collected from the Google Play Store as “release notes” and the release notes collected from the apps repositories as “repository release notes”.
References
ABI Research Android Will Account for 58% of Smartphone App Downloads in 2013, with iOS Commanding a Market Share of 75% in Tablet Apps. https://www.abiresearch.com/press/android-will-account-for-58-of-smartphone-app-down/ (Last accessed March 2016)
Akdeniz (2013) Akdeniz: Google play crawler. https://github.com/Akdeniz/google-play-crawler
Alvarez H (2016) A guide to color, ux, and conversion rates. http://www.usertesting.com/blog/2014/12/02/color-ux-conversion-rates/. Accessed March 2016
Android Studio (2016) Managing projects overview - android developers. https://developer.android.com/tools/projects/index.html. Accessed March 2016
Apktool (2016) Apktool - a tool for reverse engineering android apk files. http://ibotpeaches.github.io/Apktool/. Accessed March 2016
AppBrain (2016) Free versus paid android apps. http://www.appbrain.com/stats/free-and-paid-android-applications http://www.appbrain.com/stats/free-and-paid-android-applications. Accessed March 2016
Apple Developer (2016) iOS human interface guidelines: Color and typography. https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/ColorImagesText.html. Accessed March 2016
Arakelyan A (2016) Which color is right for your mobile app icon. https://www.iconsmind.com/color-right-mobile-app-icon/. Accessed March 2016
Bacchelli A, Bird C (2013) Expectations, outcomes, and challenges of modern code review. In: 35th international conference on software engineering, ICSE ’13. http://dl.acm.org/citation.cfm?id=2486882, San Francisco, pp 712–721
Banerjee A, Chong LK, Chattopadhyay S, Roychoudhury A (2014) Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22Nd ACM SIGSOFT international symposium on foundations of software engineering, FSE 2014. ACM, New York, pp 588–598
Bavota G, Vásquez ML, Bernal-Cárdenas CE, Penta MD, Oliveto R, Poshyvanyk D (2015) The impact of API change- and fault-proneness on the user ratings of android apps. IEEE Trans Software Eng 41(4):384–407
CFR (2016) Cfr - another java decompiler. http://www.benf.org/other/cfr/. Accessed March 2016
Colblindor (2016) Coblis color blindness simulator. http://www.color-blindness.com/coblis-color-blindness-simulator/. Accessed March 2016
Color Oracle (2016) Color oracle, design for the color impaired. http://colororacle.org. Accessed March 2016
Dex2jar (2016) Dex2jar download - sourceforge.net. http://sourceforge.net/projects/dex2jar/. Accessed March 2016
Distimo (2013) Google play store, united states, top overall, free, week 35 2013. http://www.distimo.com/leaderboards/google-play-store/united-states/top-overall/free
F-Droid (2016) F-droid. http://f-droid.org/. Accessed March 2016
Felt AP, Chin E, Hanna S, Song D, Wagner D (2011) Android permissions demystified. In: Proceedings of the 18th ACM conference on computer and communications security, CCS ’11. ACM, New York, pp 627–638
FindBugs (2016) Findbugs TM - find bugs in java programs. http://findbugs.sourceforge.net. Accessed March 2016
Gehan EA (1965) A generalized wilcoxon test for comparing arbitrarily singly-censored samples. Biometrika 52(1–2):203–223
Google Android (2016a) Uses-sdk android developers. http://developer.android.com/guide/topics/manifest/uses-sdk-element.html. Accessed March 2016
Google Android (2016b) Uses-feature, android developers. http://developer.android.com/guide/topics/manifest/uses-feature-element.html. Accessed March 2016
Google Android (2016c) Permission, android developers. http://developer.android.com/guide/topics/manifest/permission-element.htmlhttp://developer.android.com/guide/topics/manifest/permission- http://developer.android.com/guide/topics/manifest/permission-element.html. Accessed March 2016
Google Android (2016d) App manifest, android developers. http://developer.android.com/guide/topics/manifest/manifest-intro.html http://developer.android.com/guide/topics/manifest/manifest-intro.html. Accessed March 2016
mobiThinking (2016) Global mobile statistics 2013 section e: Mobile apps, app stores, pricing and failure rates. http://mobiforge.com/research-analysis/global-mobile-statistics-2013-section-e-mobile-apps-app-stores-pricing-and-failure-rates?mT http://mobiforge.com/research-analysis/global-mobile-statistics-2013-section-e-mobile-apps-app-stores-pricing-and-failure-rates?mT. Accessed March 2016
Google Support (2016) Update your apps - developer console help. https://support.google.com/googleplay/android-developer/answer/113476?hl=en. Accessed March 2016
Gorla A, Tavecchia I, Gross F, Zeller A (2014) Checking app behavior against app descriptions. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014. ACM, New York, pp 1025–1035
Guana V, Rocha F, Hindle A, Stroulia E (2012) Do the stars align? Multidimensional analysis of android’s layered architecture. In: 9th IEEE working conference of mining software repositories, MSR 2012, Zurich, pp 124–127
Gui J, Mcilroy S, Nagappan M, Halfond WGJ (2015) Truth in advertising: the hidden cost of mobile ads for software developers. In: 37th International Conference on Software Engineering, ICSE ’15, Florence
Guzman E, Maalej W (2014) How do users like this feature? A fine grained sentiment analysis of app reviews. In: IEEE 22nd international requirements engineering conference, RE 2014, Karlskrona, pp 153– 162
Han D, Zhang C, Fan X, Hindle A, Wong K, Stroulia E (2012) Understanding android fragmentation with topic analysis of vendor-specific bugs. In: 19th working conference on reverse engineering, WCRE 2012, Kingston, pp 83–92
Harman M, Jia Y, Zhang Y (2012) App store mining and analysis: MSR for app stores. In: 9th IEEE working conference of mining software repositories, MSR 2012, Zurich, pp 108–111
Hassan AE, Holt RC (2004) Predicting change propagation in software systems. In: 20th international conference on software maintenance (ICSM 2004). doi:10.1109/ICSM.2004.1357812, Chicago, pp 284–293
Hecht G, Omar B, Rouvoy R, Moha N, Duchien L (2015) Tracking the software quality of android applications along their evolution. In: Grunske L, Whalen M (eds) 30th IEEE/ACM international conference on automated software engineering. Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015). https://hal.inria.fr/hal-01178734. IEEE, Lincoln, p 12
Hemmati H, Fang Z, Mantyla MV (2015) Prioritizing manual test cases in traditional and rapid release environments. In: 8th IEEE international conference on software testing, verification and validation, ICST 2015, Graz, pp 1–10
Houston P (2016) Store and use files in assets. https://xjaphx.wordpress.com/2011/10/02/store-and-use-files-in-assets/ https://xjaphx.wordpress.com/2011/10/02/store-and-use-files-in-assets/. Accessed March 2016
Hyzap (2016). https://www.heyzap.com. Last accessed March 2016
Stuart Dredge (2016) Information commissioner’s office releases app privacy guidelines. http://www.theguardian.com/technology/2013/dec/19/information-commissioners-office-app-privacy-guidelines. Accessed March 2016
Joorabchi ME, Mesbah A, Kruchten P (2013) Real challenges in mobile app development. In: 2013 ACM / IEEE international symposium on empirical software engineering and measurement, Baltimore, pp 15–24
Khalid H, Nagappan M, Hassan AE (2015) Examining the relationship between findbugs warnings and end user ratings: a case study on 10,000 android apps. IEEE Soft 99
Khalid H, Nagappan M, Shihab E, Hassan AE (2014) Prioritizing the devices to test your app on: a case study of android game apps. In: Proceedings of the 22Nd ACM SIGSOFT international symposium on foundations of software engineering, FSE 2014. ACM, New York, pp 610–620
Khalid H, Shihab E, Nagappan M, Hassan AE (2015) What do mobile app users complain about? IEEE Soft 32(3):70–77
Khomh F, Adams B, Dhaliwal T, Zou Y (2015) Understanding the impact of rapid releases on software quality - the case of firefox. Empir Softw Eng 20(2):336–373
Khomh F, Dhaliwal T, Zou Y, Adams B (2012) Do faster releases improve software quality?: An empirical case study of mozilla firefox. In: Proceedings of the 9th IEEE working conference on mining software repositories, MSR ’12. IEEE Press, Piscataway, pp 179–188
Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: a threat to the success of android apps. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering, ESEC/FSE 2013. ACM, New York, pp 477–487
Maalej W, Nabil H (2015) Bug report, feature request, or simply praise? On automatically classifying app reviews. In: 23rd IEEE international requirements engineering conference, RE 2015. doi:10.1109/RE.2015.7320414, Ottawa, pp 116–125
Mäntylä MV, Khomh F, Adams B, Engström E, Petersen K (2013) On rapid releases and software testing. In: Proceedings of the 2013 IEEE international conference on software maintenance, ICSM ’13. IEEE Computer Society, Washington, pp 20–29
Mäntylä MV, Adams B, Khomh F, Engström E, Petersen K (2014) On rapid releases and software testing: a case study and a semi-systematic literature review. Empir Softw Eng:1–42
Martin W, Harman M, Jia Y, Sarro F, Zhang Y (2015) The app sampling problem for app store mining. In: 12th IEEE/ACM working conference on mining software repositories, MSR 2015. doi:10.1109/MSR.2015.19, Florence, pp 123–133
Martin Poschenrieder (2016) 77% will not download a Retail app rated lower than 3 stars. http://blog.testmunk.com/77-will-not-download-a-retail-app-rated-lower-than-3-stars/. Accessed March 2016
McIlroy S (2014) Empirical studies of the distribution and feedback mechanisms of mobile app stores. Master’s thesis, Queen’s University
McIlroy S, Ali N, Khalid H, Hassan AE (2015) Analyzing and automatically labelling the types of user issues that are raised in mobile app reviews. Empir Softw Eng
Pandita R, Xiao X, Yang W, Enck W, Xie T (2013) Whyper: Towards automating risk assessment of mobile applications. In: Presented as part of the 22nd USENIX Security Symposium (USENIX Security 13), pp 527–542. USENIX, Washington
Pathak A, Hu YC, Zhang M (2011) Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices. In: Tenth ACM Workshop on Hot Topics in Networks (HotNets-X), HOTNETS ’11, Cambridge, p 5
Pathak A, Jindal A, Hu YC, Midkiff SP (2012) What is keeping my phone awake?: characterizing and detecting no-sleep energy bugs in smartphone apps. In: The 10th International Conference on Mobile Systems, Applications, and Services, MobiSys’12, Ambleside, pp 267–280
Ravindranath L, Padhye J, Agarwal S, Mahajan R, Obermiller I, Shayandeh S (2012) Appinsight: mobile app performance monitoring in the wild. In: 10th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2012, Hollywood, pp 107–120
Robotium (2016). https://code.google.com/p/robotium/. Accessed March 2016
Ruiz IJM, Adams B, Nagappan M, Dienst S, Berger T, Hassan AE (2014) A large-scale empirical study on software reuse in mobile apps. IEEE Software 31(2):78–86. doi:10.1109/MS.2013.142
Ruiz IJM, Nagappan M, Adams B, Hassan AE (2012) Understanding reuse in the android market. In: IEEE 20th international conference on program comprehension, ICPC 2012. doi:10.1109/ICPC.2012.6240477, Passau, pp 113–122
Simon VT (2016) What API level should I target?. http://simonvt.net/2012/02/07/what-api-level-should-i-target/ http://simonvt.net/2012/02/07/what-api-level-should-i-target/. Accessed March 2016
Smali2java (2016). http://www.hensence.com/en/smali2java/. Last accessed March 2016
Smith J (2016) How to use the psychology of color to increase website conversions. https://blog.kissmetrics.com/psychology-of-color-and-conversions/. Accessed March 2016
Sofia (2016) Chapter 2 structure of an android app. http://sofia.cs.vt.edu/sofia-2114/book/chapter2.html. Accessed March 2016
Souza R, von Flach G, Chavez C, Bittencourt RA (2014) Do rapid releases affect bug reopening? A case study of firefox. In: 2014 Brazilian symposium on software engineering, Maceió, pp 31–40
Souza R, von Flach G, Chavez C, Bittencourt RA (2015) Rapid releases and patch backouts: a software analytics approach. IEEE Software 32(2):89–96
Stackoverflow (2016a) Remove extra unwanted permissions from manifest android, stackoverflow. http://stackoverflow.com/questions/8257412/remove-extra-unwanted-permissions-from-manifest-android. Accessed March 2016
Stackoverflow (2016b) How to check if android permission is actually being used?, stackoverflow. http://stackoverflow.com/questions/24858462/how-to-check-if-android-permission-is-actually-being-used. Accessed March 2016
Stackoverflow (2016c) Storage limit in raw and asset folder in android. http://stackoverflow.com/questions/14995756/storage-limit-in-raw-and-asset-folder-in-android. Accessed March 2016
Stackoverflow (2016d) Difference between /res and /assets directories. http://stackoverflow.com/questions/5583608/difference-between-res-and-assets-directories. Accessed March 2016
Stackoverflow (2016e) Clean up unused android permissions, stackoverflow. http://stackoverflow.com/questions/18362305/clean-up-unused-android-permissions. Accessed March 2016
Statista (2016a) Number of apps available in leading app stores as of July 2015. http://www.statista.com/statistics/276623/number-of-apps-available-in-leading-app-stores/. Accessed March 2016
Statista (2016b) Google play: number of downloads 2010-2013. http://www.statista.com/statistics/281106/number-of-android-app-downloads-from-google-play/. Accessed March 2016
Syer MD, Nagappan M, Hassan AE, Adams B (2013) Revisiting prior empirical findings for mobile apps: an empirical case study on the 15 most popular open-source android apps. In: Center for advanced studies on collaborative research, CASCON ’13. http://dl.acm.org/citation.cfm?id=2555553, Toronto, pp 283–297
Syer MD, Nagappan M, Adams B, Hassan AE (2015) Studying the relationship between source code quality and mobile platform dependence. Softw Qual J 23(3):485–508. doi:10.1007/s11219-014-9238-2
Telerik (2016) Extra android permissions always set. http://www.telerik.com/forums/extra-android-permissions-always-set http://www.telerik.com/forums/extra-android-permissions-always-set. Accessed March 2016
Wan M, Jin Y, Li D, Halfond WGJ (2015) Detecting display energy hotspots in android apps. In: 8th IEEE international conference on software testing, verification and validation, ICST 2015, Graz, pp 1–10
Wikipedia (2016) Wikipedia Patch Tuesday. http://en.wikipedia.org/wiki/Patch_Tuesday. Accessed March 2016
Xu W, Zhang F, Zhu S (2013) Permlyzer: analyzing permission usage in android applications. In: IEEE 24th international symposium on software reliability engineering, ISSRE 2013. doi:10.1109/ISSRE.2013.6698893, Pasadena, pp 400–410
Zimmermann T, Weißgerber P, Diehl S, Zeller A (2004) Mining version histories to guide software changes. In: 26th international conference on software engineering (ICSE 2004), pp 563–572, Edinburgh. doi:10.1109/ICSE.2004.1317478
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Denys Poshyvanyk
Rights and permissions
About this article
Cite this article
Hassan, S., Shang, W. & Hassan, A.E. An empirical study of emergency updates for top android mobile apps. Empir Software Eng 22, 505–546 (2017). https://doi.org/10.1007/s10664-016-9435-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-016-9435-7