skip to main content
research-article
Public Access

Where did my 256 GB go? A Measurement Analysis of Storage Consumption on Smart Mobile Devices

Published:04 June 2021Publication History
Skip Abstract Section

Abstract

This work presents the first-ever detailed and large-scale measurement analysis of storage consumption behavior of applications (apps) on smart mobile devices. We start by carrying out a five-year longitudinal static analysis of millions of Android apps to study the increase in their sizes over time and identify various sources of app storage consumption. Our study reveals that mobile apps have evolved as large monolithic packages that are packed with features to monetize/engage users and optimized for performance at the cost of redundant storage consumption.

We also carry out a mobile storage usage study with 140 Android participants. We built and deployed a lightweight context-aware storage tracing tool, called cosmos, on each participant's device. Leveraging the traces from our user study, we show that only a small fraction of apps/features are actively used and usage is correlated to user context. Our findings suggest a high degree of app feature bloat and unused functionality, which leads to inefficient use of storage. Furthermore, we found that apps are not constrained by storage quota limits, and developers freely abuse persistent storage by frequently caching data, creating debug logs, user analytics, and downloading advertisements as needed.

Finally, drawing upon our findings, we discuss the need for efficient mobile storage management, and propose an elastic storage design to reclaim storage space when unused. We further identify research challenges and quantify expected storage savings from such a design. We believe our findings will be valuable to the storage research community as well as mobile app developers.

References

  1. Nitin Agrawal, William J Bolosky, John R Douceur, and Jacob R Lorch. 2007. A five-year study of file-system metadata. ACM Transactions on Storage (TOS), Vol. 3, 3 (2007), 9--es.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AppBrain. 2019. Number of Android applications. https://www.appbrain.com/stats/number-of-android-appsGoogle ScholarGoogle Scholar
  3. Inc. Apple. 2008. iTunes preview (app store). https://itunes.apple.com/genre/ios/id36?mt=8Google ScholarGoogle Scholar
  4. Inc. Apple. 2018. Reducing Your App's Size. https://developer.apple.com/documentation/xcode/reducing_your_app_s_sizeGoogle ScholarGoogle Scholar
  5. Inc. Apple. 2019. If you need more space for an update. https://support.apple.com/en-us/HT203097Google ScholarGoogle Scholar
  6. Apple, Inc. 2015. Now Accepting Larger Binaries - News and Updates - Apple Developer. https://developer.apple.com/news/?id=02122015aGoogle ScholarGoogle Scholar
  7. Michael Backes, Sven Bugiel, and Erik Derr. 2016. Reliable Third-Party Library Detection in Android and its Security Applications. In Proceedings of the 23rd ACM Conference on Computer and Communications Security (CCS). ACM, Vienna, Austria.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ricardo Baeza-Yates, Di Jiang, Fabrizio Silvestri, and Beverly Harrison. 2015. Predicting The Next App That You Are Going To Use. In Proceedings of the Eighth ACM International Conference on Web Search and Data Mining. Shanghai, China, 285--294.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ashish Bijlani and Umakishore Ramachandran. 2018. A Lightweight and Fine-grained File System Sandboxing Framework. In Proceedings of the 9th Asia-Pacific Workshop on Systems (APSys). ACM, Jeju Island, South Korea.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ashish Bijlani and Umakishore Ramachandran. 2019. Extension Framework for File Systems in User space. In Proceedings of the 2019 USENIX Annual Technical Conference (ATC). USENIX, Renton, WA, 121--134.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bintray.com. 2016. JCenter is the place to find and share popular Apache Maven packages. https://bintray.com/bintray/jcenterGoogle ScholarGoogle Scholar
  12. Box, Inc. 2015. Box | Free Cloud Storage. https://www.box.com/Google ScholarGoogle Scholar
  13. Kai Chen, Peng Wang, Yeonjoon Lee, Xiaofeng Wang, Nan Zhang, Heqing Huang, Wei Zou, and Peng Liu. 2015. Finding Unknown Malice in 10 Seconds: Mass Vetting for New Threats at the Google-Play Scale. In Proceedings of the 24th USENIX Security Symposium (Security). Washington, DC.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Corbet. 2017. Superblock watch for fsnotify. https://lwn.net/Articles/718802/Google ScholarGoogle Scholar
  15. Counterpoint Research. 2019. Average Storage Capacity in Smartphones to Cross 80GB by End-2019. https://www.counterpointresearch.com/average-storage-capacity-smartphones-cross-80gb-end-2019/Google ScholarGoogle Scholar
  16. Matthew L Dering and Patrick McDaniel. 2014. Android market reconstruction and analysis. In 2014 IEEE Military Communications Conference. IEEE, 300--305.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. John R. Douceur and William J. Bolosky. [n. d.]. A Large-Scale Study of File-System Contents. SIGMETRICS Perform. Eval. Rev. (May [n. d.]), 59--70.Google ScholarGoogle Scholar
  18. Dropbox, Inc. Feb 2015. Dropbox - Your stuff, anywhere. https://www.dropbox.com/Google ScholarGoogle Scholar
  19. Ruian Duan, Ashish Bijlani, Meng Xu, Taesoo Kim, and Wenke Lee. 2017. Identifying Open-Source License Violation and 1-day Security Risk at Large Scale. In Proceedings of the 24th ACM Conference on Computer and Communications Security (CCS). ACM, Dallas, Texas, 2169--2185.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Flament. 2019. LoggedFS - Filesystem monitoring with Fuse. https://rflament.github.io/loggedfs/Google ScholarGoogle Scholar
  21. Inc. Google. 2015. Google Drive - Cloud Storage & File Backup for Photos, Docs & More. https://www.google.com/drive/Google ScholarGoogle Scholar
  22. Inc. Google. 2019 a. About Android App Bundles. https://developer.android.com/guide/app-bundle/Google ScholarGoogle Scholar
  23. Inc. Google. 2019 b. Configuring ART. https://source.android.com/devices/tech/dalvik/configureGoogle ScholarGoogle Scholar
  24. Inc. Google. 2019 c. Data and file storage overview. https://developer.android.com/training/data-storageGoogle ScholarGoogle Scholar
  25. Inc. Google. 2019 d. Faster Storage Statistics. https://source.android.com/devices/storage/faster-statsGoogle ScholarGoogle Scholar
  26. Inc. Google. 2019 e. Multiple APK support. https://developer.android.com/google/play/publishing/multiple-apks.htmlGoogle ScholarGoogle Scholar
  27. Inc. Google. 2019 f. Reduce APK size. https://developer.android.com/topic/performance/reduce-apk-sizeGoogle ScholarGoogle Scholar
  28. Inc. Google. 2020. Android Logcat system. https://developer.android.com/studio/command-line/logcatGoogle ScholarGoogle Scholar
  29. Google, Inc. 2010. Android Market Client Update | Android Developers Blog. http://android-developers.blogspot.com/2010/12/android-market-client-update.htmlGoogle ScholarGoogle Scholar
  30. Google, Inc. 2012. Android Apps Break the 50MB Barrier | Android Developers Blog. http://android-developers.blogspot.se/2012/03/android-apps-break-50mb-barrier.htmlGoogle ScholarGoogle Scholar
  31. Google, Inc. 2019. APK Expansion Files | Android Developers. https://developer.android.com/google/play/expansion-filesGoogle ScholarGoogle Scholar
  32. Google, Inc. September 2015. Support for 100MB APKs on Google Play | Android Developers Blog. http://android-developers.blogspot.com/2015/09/support-for-100mb-apks-on-google-play.htmlGoogle ScholarGoogle Scholar
  33. Tyler Harter, Chris Dragga, Michael Vaughn, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2011. A file is not a file: understanding the I/O behavior of Apple desktop applications. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP). Cascais, Portugal, 71--83.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Brett D. Higgins, Jason Flinn, T. J. Giuli, Brian Noble, Christopher Peplin, and David Watson. 2012. Informed Mobile Prefetching. In Proceedings of the 10th ACM International Conference on Mobile Computing Systems (MobiSys). ACM, Lake District, United Kingdom.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Jian Huang, Anirudh Badam, Ranveer Chandra, and Edmund B. Nightingale. 2015. WearDrive: Fast and Energy-Efficient Storage for Wearables. In Proceedings of the 2015 USENIX Annual Technical Conference (ATC). USENIX, Santa Clara, CA, 613--625.Google ScholarGoogle Scholar
  36. Ke Huang, Chunhui Zhang, Xiaoxiao Ma, and Guanling Chen. 2012. Predicting Mobile Application Usage Using Contextual Information. In Proceedings of the 2012 ACM International Joint Conference on Pervasive and Ubiquitous Computing. ACM, Pittsburgh, Pennsylvania, 1059--1065.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. IDC. 2019. Smartphone Market Share. https://www.idc.com/promo/smartphone-market-share/osGoogle ScholarGoogle Scholar
  38. Yufei Jiang, Qinkun Bao, Shuai Wang, Xiao Liu, and Dinghao Wu. 2018. RedDroid: Android Application Redundancy Customization Based on Static Analysis.. In Proceedings of the 29th International Symposium on Software Reliability Engineering (ISSRE). IEEE, Memphis, Tennessee, 189--199.Google ScholarGoogle ScholarCross RefCross Ref
  39. Kisung Lee and Youjip Won. 2012. Smart layers and dumb result: IO characterization of an android-based smartphone. In Proceedings of the tenth ACM international conference on Embedded software. 23--32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Huoran Li, Xuan Lu, Xuanzhe Liu, Tao Xie, Kaigui Bian, Felix Xiaozhu Lin, Qiaozhu Mei, and Feng Feng. 2015. Characterizing smartphone usage patterns from millions of android users. In Proceedings of the 2015 Internet Measurement Conference. 459--472.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Mario Linares-Vásquez, Andrew Holtzhauer, Carlos Bernal-Cárdenas, and Denys Poshyvanyk. 2014. Revisiting android reuse studies in the context of code obfuscation and library usages. In Proceedings of the 11th Working Conference on Mining Software Repositories. 242--251.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Wei Liu, Ge Zhang, Jun Chen, Yuze Zou, and Wenchao Ding. 2015. A Measurement-Based Study on Application Popularity in Android and IOS App Stores. In Proceedings of the 2015 Workshop on Mobile Big Data (Mobidata '15). Association for Computing Machinery, 13--18.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Robert Love. 2005. Kernel korner: Intro to inotify. Linux Journal, Vol. 2005 (2005), 8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Anandatirtha Nandugudi, Anudipa Maiti, Taeyeon Ki, Fatih Bulut, Murat Demirbas, Tevfik Kosar, Chunming Qiao, Steven Y. Ko, and Geoffrey Challen. 2013. PhoneLab: A Large Programmable Smartphone Testbed. In Proceedings of First International Workshop on Sensing and Big Data Mining (SENSEMINE'13). Association for Computing Machinery, 4:1--4:6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. NetworkWorld. 2014. Intel confronts a big mobile challenge: Native compatibility. https://www.networkworld.com/article/2360304/intel-confronts-a-big-mobile-challenge-native-compatibility.htmlGoogle ScholarGoogle Scholar
  46. Abhinav Parate, Matthias Böhmer, David Chu, Deepak Ganesan, and Benjamin M. Marlin. 2013. Practical Prediction and Prefetch for Faster Access to Applications on Mobile Phones. In Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing. ACM, Zurich, Switzerland, 275--284.Google ScholarGoogle Scholar
  47. Thanasis Petsas, Antonis Papadogiannakis, Michalis Polychronakis, Evangelos P Markatos, and Thomas Karagiannis. 2013. Rise of the planet of the apps: A systematic study of the mobile app ecosystem. In Proceedings of the 2013 conference on Internet measurement conference. 277--290.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. PhoneLab. 2016. Data Release. https://phonelab.readthedocs.io/en/latest/data.htmlGoogle ScholarGoogle Scholar
  49. Zhengyang Qu, Vaibhav Rastogi, Xinyi Zhang, Yan Chen, Tiantian Zhu, and Zhong Chen. 2014. Autocog: Measuring the description-to-permission fidelity in android applications. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 1354--1365.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Inc. Qualcomm. 2018. Trepn Power Profiler - Qualcomm Developer Network. https://developer.qualcomm.com/software/trepn-power-profilerGoogle ScholarGoogle Scholar
  51. Leonard Richardson. 2019. Beautiful Soup. https://www.crummy.com/software/BeautifulSoup/Google ScholarGoogle Scholar
  52. John P. Rula, Byungjin Jun, and Fabian Bustamante. 2015. Mobile AD(D): Estimating Mobile App Session Times for Better Ads. In Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications. Santa Fe, New Mexico, USA, 123--128.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. SanDisk. 2018. 62 Percent of Indians Run Out of Smartphone Space Every 3 Months: SanDisk. https://gadgets.ndtv.com/mobiles/news/62-percent-of-indians-run-out-of-smartphone-space-every-3-months-sandisk-1829349Google ScholarGoogle Scholar
  54. Jinghao Shi, Edwin Santos, and Geoffrey Challen. 2019. Lessons from Four Years of PHONELAB Experimentation. arxiv: cs.NI/1902.01929Google ScholarGoogle Scholar
  55. Helgi Sigurbjarnarson, Petur Orri Ragnarsson, Ymir Vigfusson, and Mahesh Balakrishnan. 2014. Harmonium: Elastic Cloud Storage via File Motifs. In Proceedings of the 6th Workshop on Hot Topics in Storage and File Systems (HotStorage). USENIX, Philadelphia, PA.Google ScholarGoogle Scholar
  56. Ankur Singla. 2017. The mobile app industry's worst-kept secret. https://ankursingla.com/2017/01/31/reasons-for-the-high-uninstall-rates-in-india/Google ScholarGoogle Scholar
  57. Statcounter. 2019. Mobile Operating System Market Share India. https://gs.statcounter.com/os-market-share/mobile/indiaGoogle ScholarGoogle Scholar
  58. M. Szeredi and N.Rauth. 2018. Fuse - filesystems in userspace. https://github.com/libfuse/libfuseGoogle ScholarGoogle Scholar
  59. Tech Crunch. 2013. Users Have Low Tolerance For Buggy Apps -- Only 16% Will Try A Failing App More Than Twice. http://techcrunch.com/2013/03/12/users-have-low-tolerance-for-buggy-apps-only-16-will-try-a-failing-app-more-than-twice/Google ScholarGoogle Scholar
  60. The Apache Software Foundation. 2016. Apache Maven Project. https://maven.apache.org/index.htmlGoogle ScholarGoogle Scholar
  61. Yuan Tian, Meiyappan Nagappan, David Lo, and Ahmed E Hassan. 2015. What are the characteristics of high-rated apps? a case study on free android applications. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 301--310.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. TmoNews. 2012. Google Head Of Android User Experience Explains The Lack Of SD Cards For Nexus Devices. http://www.tmonews.com/2012/10/google-head-of-android-user-experience-explains-the-lack-of-sd-cards-for-nexus-devices/Google ScholarGoogle Scholar
  63. USA Today. 2014. iOS8 users massively deleting to make room. http://www.usatoday.com/story/tech/columnist/talkingtech/2014/09/18/ios8-users-massively-deleting-to-make-room/15834211/Google ScholarGoogle Scholar
  64. Bharath Kumar Reddy Vangoor, Vasily Tarasov, and Erez Zadok. 2017. To FUSE or Not to FUSE: Performance of User-Space File Systems. In 15th USENIX Conference on File and Storage Technologies (FAST) (FAST 17). USENIX, Santa Clara, CA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Nicolas Viennot, Edward Garcia, and Jason Nieh. 2014. A Measurement Study of Google Play. In Proceedings of the 2014 ACM SIGMETRICS Conference. ACM, Austin, TX.Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Haoyu Wang, Yao Guo, Ziang Ma, and Xiangqun Chen. 2015. Wukong: A scalable and accurate two-phase approach to android app clone detection. In Proceedings of the 2015 International Symposium on Software Testing and Analysis. 71--82.Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Wikipedia. 2015. iPhone 7. https://en.wikipedia.org/wiki/IPhone_7Google ScholarGoogle Scholar
  68. Wikipedia. 2019. iPhone XS. https://en.wikipedia.org/wiki/IPhone_XSGoogle ScholarGoogle Scholar
  69. Qiang Xu, Jeffrey Erman, Alexandre Gerber, Zhuoqing Mao, Jeffrey Pang, and Shobha Venkataraman. 2011. Identifying Diverse Usage Behaviors of Smartphone Apps. In Proceedings of the 2011 ACM SIGCOMM Conference on Internet Measurement Conference (IMC '11). ACM, 329--344.Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Tingxin Yan, David Chu, Deepak Ganesan, Aman Kansal, and Jie Liu. 2012. Fast app launching for mobile devices using predictive user context. In Proceedings of the 10th ACM International Conference on Mobile Computing Systems (MobiSys). ACM, Lake District, United Kingdom, 113--126.Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. E. Zadok, J. Osborn, A. Shater, C. P. Wright, K. Muniswamy-Reddy, and J. Nieh. 2004. Reducing Storage Management Costs via Informed User-Based Policies. In Proceedings of the 12th NASA Goddard, 21st IEEE Conference on Mass Storage Systems and Technologies (MSST). College Park, MD, USA.Google ScholarGoogle Scholar
  72. Fangfang Zhang, Heqing Huang, Sencun Zhu, Dinghao Wu, and Peng Liu. 2014. ViewDroid: Towards obfuscation-resilient mobile application repackaging detection. In Proceedings of the 2014 ACM conference on Security and privacy in wireless & mobile networks. 25--36.Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Yajin Zhou, Lei Wu, Zhi Wang, and Xuxian Jiang. 2015. Harvesting developer credentials in android apps. In Proceedings of the 8th ACM conference on security & privacy in wireless and mobile networks. 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Xun Zou, Wangsheng Zhang, Shijian Li, and Gang Pan. 2013. Prophet: What app you wish to use next. In Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing. ACM, Zurich, Switzerland, 167--170.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Where did my 256 GB go? A Measurement Analysis of Storage Consumption on Smart Mobile Devices

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Proceedings of the ACM on Measurement and Analysis of Computing Systems
          Proceedings of the ACM on Measurement and Analysis of Computing Systems  Volume 5, Issue 2
          POMACS
          June 2021
          424 pages
          EISSN:2476-1249
          DOI:10.1145/3469656
          Issue’s Table of Contents

          Copyright © 2021 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 4 June 2021
          Published in pomacs Volume 5, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
        • Article Metrics

          • Downloads (Last 12 months)285
          • Downloads (Last 6 weeks)27

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!