skip to main content
10.1145/3196321.3196329acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

What's inside my app?: understanding feature redundancy in mobile apps

Published: 28 May 2018 Publication History

Abstract

As the number of mobile apps increases rapidly, many users may install dozens of, or even hundreds of, apps on a single smartphone. However, many apps on the same phone may contain similar or even the same feature, resulting in feature redundancy. For example, multiple apps may check weather forecast for the user periodically. Feature redundancy may cause many undesirable side-effects such as consuming extra CPU resources and network traffic. This paper proposes a method to identify common features within an app, and evaluated it on over four thousand popular apps. Experiments on a list of apps installed on actual smartphones show that the extent of feature redundancy is very high. We found that more than 85% of user smartphones contain redundant features, while in extreme cases, some smartphones may contain dozens of apps with the same feature. In addition, our user surveys found out that about half of the redundant features are undesirable from the end users' perspective, which indicates that feature redundancy has become an important issue that needs to be investigated further.

References

[1]
Niranjan Balasubramanian, Aruna Balasubramanian, and Arun Venkataramani. 2009. Energy consumption in mobile phones: a measurement study and implications for network applications. In Proceedings of the 9th ACM SIGCOMM conference on Internet measurement conference. ACM, 280--293.
[2]
Pierre F Baldi, Cristina V Lopes, Erik J Linstead, and Sushil K Bajracharya. 2008. A theory of aspects as latent topics. In ACM Sigplan Notices, Vol. 43. ACM, 543--562.
[3]
Abhijnan Chakraborty, Vishnu Navda, Venkata N Padmanabhan, and Ramachandran Ramjee. 2013. Coordinating cellular background transfers using loadsense. In Proceedings of the 19th annual international conference on Mobile computing & networking. ACM, 63--74.
[4]
Kunrong Chen and Václav Rajlich. 2000. Case study of feature location using dependence graph. In Program Comprehension, 2000. Proceedings. IWPC 2000. 8th International Workshop on. IEEE, 241--247.
[5]
Xiaomeng Chen, Abhilash Jindal, Ning Ding, Yu Charlie Hu, Maruti Gupta, and Rath Vannithamby. 2015. Smartphone background activities in the wild: Origin, energy drain, and optimization. In Proceedings of the 21st Annual International Conference on Mobile Computing and Networking. ACM, 40--52.
[6]
Xin Chen and Sencun Zhu. 2015. DroidJust: automated functionality-aware privacy leakage analysis for Android applications. In Proceedings of the 8th ACM Conference on Security & Privacy in Wireless and Mobile Networks. ACM, 5.
[7]
Jonathan Crussell, Clint Gibler, and Hao Chen. 2012. Attack of the Clones: Detecting Cloned Applications on Android Markets. In Computer Security - ESORICS 2012, Sara Foresti, Moti Yung, and Fabio Martinelli (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 37--54.
[8]
Android Developers. 2013. Intent. https://developer.android.com/reference/android/content/Intent.html. (2013).
[9]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. Journal of software: Evolution and Process 25, 1 (2013), 53--95.
[10]
Thomas Eisenbarth, Rainer Koschke, and Daniel Simon. 2003. Locating features in source code. IEEE Transactions on software engineering 29, 3 (2003), 210--224.
[11]
Whitson Gordon. 2014. Android Task Killers Explained: What They Do and Why You Shouldnt Use Them. http://lifehacker.com/5650894/android-task-killers-e xplained-what-they-do-and-why-you-shouldnt-use-them. (2014).
[12]
Junxian Huang, Feng Qian, Z Morley Mao, Subhabrata Sen, and Oliver Spatscheck. 2012. Screen-off traffic characterization and optimization in 3G/4G networks. In Proceedings of the 2012 ACM conference on Internet measurement conference. ACM, 357--364.
[13]
Jianjun Huang, Xiangyu Zhang, Lin Tan, Peng Wang, and Bin Liang. 2014. AsDroid: Detecting Stealthy Behaviors in Android Applications by User Interface and Program Behavior Contradiction. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). 1036--1046.
[14]
Peng Huang, Tianyin Xu, Xinxin Jin, and Yuanyuan Zhou. 2016. DefDroid: Towards a More Defensive Mobile OS Against Disruptive App Behavior. In MobiSys. ACM, 221--234.
[15]
Tetsuya Kanda, Yuki Manabe, Takashi Ishio, Makoto Matsushita, and Katsuro Inoue. 2013. Semi-automatically extracting features from source code of android applications. IEICE TRANSACTIONS on Information and Systems 96, 12 (2013), 2857--2859.
[16]
Shinji Kawaguchi, Pankaj K Garg, Makoto Matsushita, and Katsuro Inoue. 2006. Mudablue: An automatic categorization system for open source repositories. Journal of Systems and Software 79, 7 (2006), 939--953.
[17]
Adrian Kuhn, Stéphane Ducasse, and Tudor Gírba. 2007. Semantic clustering: Identifying topics in source code. Information and Software Technology 49, 3 (2007), 230--243.
[18]
Yuanchun Li, Yao Guo, and Xiangqun Chen. 2016. PERUIM: Understanding Mobile Application Privacy with permission-UI Mapping. In Proceedings of the 2016 ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp '16). 682--693.
[19]
Yuanchun Li, Yao Guo, Junjun Kong, and Xiangqun Chen. 2015. Fixing Sensor-Related Energy Bugs through Automated Sensing Policy Instrumentation. In ACM/IEEE International Symposium on Low-Power Electronics and Design (ISLPED 2015). 321--326.
[20]
Yuanchun Li, Ziyue Yang, Yao Guo, and Xiangqun Chen. 2017. DroidBot: A Lightweight UI-guided Test Input Generator for Android. In Proceedings of the 39th International Conference on Software Engineering Companion (ICSE-C '17). 23--26.
[21]
Jialiu Lin, Shahriyar Amini, Jason I Hong, Norman Sadeh, Janne Lindqvist, and Joy Zhang. 2012. Expectation and purpose: understanding users' mental models of mobile app privacy through crowdsourcing. In Proceedings of the 2012 ACM Conference on Ubiquitous Computing. ACM, 501--510.
[22]
Marcelo Martins, Justin Cappos, and Rodrigo Fonseca. 2015. Selectively taming background android apps to improve battery lifetime. In 2015 USENIX Annual Technical Conference (USENIX ATC 15). 563--575.
[23]
Girish Maskeri, Santonu Sarkar, and Kenneth Heafield. 2008. Mining business topics in source code using latent dirichlet allocation. In Proceedings of the 1st India software engineering conference. ACM, 113--120.
[24]
Rahul Pandita, Xusheng Xiao, Wei Yang, William Enck, and Tao Xie. 2013. Whyper: Towards automating risk assessment of mobile applications. In Presented as part of the 22nd USENIX Security Symposium (USENIX Security 13). 527--542.
[25]
Julia Rubin, Michael I. Gordon, Nguyen Nguyen, and Martin Rinard. 2015. Covert Communication in Mobile Applications. In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE.
[26]
Indrajeet Singh, Srikanth V Krishnamurthy, Harsha V Madhyastha, and Iulian Neamtiu. 2015. ZapDroid: managing infrequently used applications on smartphones. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing. ACM, 1185--1196.
[27]
Steven Sinofsky. 2013. Avoiding mobile app bloat. https://blog.learningbyshipping.com/2013/09/24/avoiding-mobile-app-bloat/. (2013).
[28]
Statista. 2018. Number of Apps in the Google Play Store. https://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/. (2018). Accessed: 2018-02-06.
[29]
TheNextWeb. 2014. Android users have an average of 95 apps installed on their phones, according to Yahoo Aviate data. http://thenextweb.com/apps/2014/08/26/android-users-average-95-apps-installed-phones-according-yahoo-aviate-data/. (2014).
[30]
Kai Tian, Meghan Revelle, and Denys Poshyvanyk. 2009. Using latent dirichlet allocation for automatic categorization of software. In 2009 6th IEEE International Working Conference on Mining Software Repositories. IEEE, 163--166.
[31]
Chengke Wang, Yao Guo, Yunnan Xu, Peng Shen, and Xiangqun Chen. 2016. Standby Energy Analysis and Optimization for Smartphones. In IEEE MobileCloud 2016.
[32]
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 ACM International Symposium on Software Testing and Analysis (ISSTA '15). ACM, 71--82.
[33]
Wikipedia. 2018. Google Play. https://en.wikipedia.org/wiki/Google Play. (2018). Accessed: 2018-02-06.
[34]
Wikipedia. 2018. Software bloat. https://en.wikipedia.org/wiki/Software_bloat. (2018). Accessed: 2018-02-06.
[35]
Norman Wilde and Michael C Scully. 1995. Software reconnaissance: Mapping program features to code. Journal of Software: Evolution and Process 7, 1 (1995), 49--62.
[36]
Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, and X Sean Wang. 2013. Appintent: Analyzing sensitive data transmission in android for privacy leakage detection. In Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security. ACM, 1043--1054.
[37]
Wu Zhou, Yajin Zhou, Xuxian Jiang, and Peng Ning. 2012. Detecting Repackaged Smartphone Applications in Third-party Android Marketplaces. In Proceedings of the Second ACM Conference on Data and Application Security and Privacy (CODASPY '12). 317--326.

Cited By

View all
  • (2023)LegoDroid: flexible Android app decomposition and instant installationScience China Information Sciences10.1007/s11432-021-3528-766:4Online publication date: 27-Mar-2023
  • (2022)Uncovering Library Features from API Usage on Stack Overflow2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00035(207-217)Online publication date: Mar-2022
  • (2021)ModelDiff: testing-based DNN similarity comparison for model reuse detectionProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464816(139-151)Online publication date: 11-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC '18: Proceedings of the 26th Conference on Program Comprehension
May 2018
423 pages
ISBN:9781450357142
DOI:10.1145/3196321
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Android
  2. app bloat
  3. feature
  4. mobile apps
  5. redundancy

Qualifiers

  • Research-article

Funding Sources

  • National Key Research and Development Program
  • National Natural Science Foundation of China

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)LegoDroid: flexible Android app decomposition and instant installationScience China Information Sciences10.1007/s11432-021-3528-766:4Online publication date: 27-Mar-2023
  • (2022)Uncovering Library Features from API Usage on Stack Overflow2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00035(207-217)Online publication date: Mar-2022
  • (2021)ModelDiff: testing-based DNN similarity comparison for model reuse detectionProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464816(139-151)Online publication date: 11-Jul-2021
  • (2021)Enhancing Trustability of Android Applications via User-Centric Flexible PermissionsIEEE Transactions on Software Engineering10.1109/TSE.2019.294193647:10(2032-2051)Online publication date: 1-Oct-2021
  • (2019)Automated Feature Identification for Android AppsSoftware Engineering and Formal Methods10.1007/978-3-030-57506-9_7(77-84)Online publication date: 16-Sep-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media