[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/3155562.3155602guideproceedingsArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article
Free access

UI driven Android application reduction

Published: 30 October 2017 Publication History

Abstract

While smartphones and mobile apps have been an integral part of our life, modern mobile apps tend to contain a lot of rarely used functionalities. For example, applications contain advertisements and offer extra features such as recommended news stories in weather apps. While these functionalities are not essential to an app, they nonetheless consume power, CPU cycles and bandwidth. In this paper, we design a UI driven approach that allows customizing an Android app by removing its unwanted functionalities. In particular, our technique displays the UI and allows the user to select elements denoting functionalities that she wants to remove. Using this information, our technique automatically removes all the code elements related to the selected functionalities, including all the relevant background tasks. The underlying analysis is a type system, in which each code element is tagged with a type indicating if it should be removed. From the UI hints, our technique infers types for all other code elements and reduces the app accordingly. We implement a prototype and evaluate it on 10 real-world Android apps. The results show that our approach can accurately discover the removable code elements and lead to substantial resource savings in the reduced apps.

References

[1]
Search Engine Watch, “Mobile now exceeds PC: The biggest shift since the Internet began,” https://searchenginewatch. com/sew/opinion/ 2353616/mobile-now-exceeds-pc-the-biggest-shift-since-the-internetbegan.
[2]
A. Brain, “Statistics of Android ad networks,” https://www.appbrain. com/stats/libraries/ad.
[3]
J. Boutet, “Malicious Android applications: Risks and exploitation,” https://www.sans.org/reading-room/whitepapers/threats/malicious- android-applicationsrisks-exploitation- 33578.
[4]
M. Egele, C. Kruegel, E. Kirda, and G. Vigna, “PiOS: Detecting privacy leaks in iOS applications,” in Proceedings of the Network and Distributed System Security Symposium, ser. NDSS 2011.
[5]
W. Enck, P. Gilbert, B.-G. Chun, L. P. Cox, J. Jung, P. McDaniel, and A. N. Sheth, “Taintdroid: An information-flow tracking system for realtime privacy monitoring on smartphones,” in Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, ser. OSDI 2010.
[6]
V. Rastogi, R. Shao, Y. Chen, X. Pan, S. Zou, and R. Riley, “Are these ads safe: Detecting hidden attacks through the mobile app-web interfaces,” in Proceedings of the Network and Distributed System Security Symposium, ser. NDSS 2016.
[7]
J. Gui, S. Mcilroy, M. Nagappan, and W. G. J. Halfond, “Truth in advertising: The hidden cost of mobile ads for software developers,” in Proceedings of the 37th International Conference on Software Engineering, ser. ICSE 2015.
[8]
Earth Networks, “Weather by WeatherBug,” https://play.google.com/ store/apps/details?id=com.aws.android.
[9]
T. Book, “Privacy concerns in Android advertising libraries,” in Master Thesis, 2013.
[10]
“Soot: A framework for analyzing and transforming Java and Android applications,” http://sable.github.io/soot/.
[11]
M. An, “Why people block ads (and what it means for marketers and advertisers),” https://research.hubspot.com/reports/why-peopleblock-ads- and-what-it-means-for-marketers- and-advertisers.
[12]
Y. Wang, H. Zhang, and A. Rountev, “On the unsoundness of static analysis for Android GUIs,” in Proceedings of the 5th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, ser. SOAP 2016.
[13]
L. Li, T. F. Bissyandé, D. Octeau, and J. Klein, “Droidra: Taming reflection to support whole-program analysis of Android apps,” in Proceedings of the 25th International Symposium on Software Testing and Analysis, ser. ISSTA 2016.
[14]
L. Li, T. F. Bissyand, M. Papadakis, S. Rasthofer, A. Bartel, D. Octeau, J. Klein, and L. Traon, “Static analysis of Android apps,” Inf. Softw. Technol., vol. 88, no. C, Aug. 2017.
[15]
M. C. Grace, W. Zhou, X. Jiang, and A.-R. Sadeghi, “Unsafe exposure analysis of mobile in-app advertisements,” in Proceedings of the Fifth ACM Conference on Security and Privacy in Wireless and Mobile Networks, ser. WISEC 2012.
[16]
T. Book, A. Pridgen, and D. S. Wallach, “Longitudinal analysis of Android ad library permissions,” CoRR, vol. abs/1303.0857, 2013.
[17]
A. Narayanan, L. Chen, and C. K. Chan, “Addetect: Automated detection of Android ad libraries using semantic analysis,” in 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing, ser. ISSNIP 2014.
[18]
B. Liu, B. Liu, H. Jin, and R. Govindan, “Efficient privilege deescalation for ad libraries in mobile apps,” in Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services, ser. MobiSys 2015.
[19]
Z. Ma, H. Wang, Y. Guo, and X. Chen, “Libradar: Fast and accurate detection of third-party libraries in Android apps,” in Proceedings of the 38th International Conference on Software Engineering Companion, ser. ICSE 2016.
[20]
M. Backes, S. Bugiel, and E. Derr, “Reliable third-party library detection in Android and its security applications,” in Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, ser. CCS 2016.
[21]
A. Carzaniga, A. Gorla, N. Perino, and M. Pezzè, “Automatic workarounds for web applications,” in Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, ser. FSE 2010.
[22]
A. Carzaniga, A. Gorla, A. Mattavelli, N. Perino, and M. Pezzè, “Automatic recovery from runtime failures,” in Proceedings of the 2013 International Conference on Software Engineering, ser. ICSE 2013.
[23]
A. Carzaniga, A. Goffi, A. Gorla, A. Mattavelli, and M. Pezzè, “Crosschecking oracles from intrinsic software redundancy,” in Proceedings of the 36th International Conference on Software Engineering, ser. ICSE 2014.
[24]
A. Goffi, A. Gorla, A. Mattavelli, M. Pezzè, and P. Tonella, “Searchbased synthesis of equivalent method sequences,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, ser. FSE 2014.
[25]
M. Gottschalk, M. Josefiok, J. Jelschen, and A. Winter, “Removing energy code smells with reengineering services,” in Informatik 2012.
[26]
J. Jelschen, M. Gottschalk, M. Josefiok, C. Pitu, and A. Winter, “Towards applying reengineering services to energy-efficient applications,” in Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering, ser. CSMR 2012.
[27]
C. Sahin, M. Wan, P. Tornquist, R. McKenna, Z. Pearson, W. G. Halfond, and J. Clause, “How does code obfuscation impact energy usage?” Journal of Software: Evolution and Process, vol. 28, no. 7, pp. 565– 588, 2016.
[28]
J. Gui, D. Li, M. Wan, and W. G. Halfond, “Lightweight measurement and estimation of mobile ad energy consumption,” in Proceedings of the International Workshop on Green and Sustainable Software, ser. GREENS 2016.
[29]
A. Banerjee and A. Roychoudhury, “Automated re-factoring of Android apps to enhance energy-efficiency,” in Proceedings of the International Conference on Mobile Software Engineering and Systems, ser. MOBILESoft 2016.
[30]
H. Wu, S. Yang, and A. Rountev, “Static detection of energy defect patterns in Android applications,” in Proceedings of the 25th International Conference on Compiler Construction, ser. CC 2016.
[31]
M. Martins, J. Cappos, and R. Fonseca, “Selectively taming background Android apps to improve battery lifetime,” in Proceedings of the 2015 USENIX Conference on Usenix Annual Technical Conference, ser. USENIX ATC 2015.
[32]
M. Linares-Vásquez, G. Bavota, C. E. B. Cárdenas, R. Oliveto, M. Di Penta, and D. Poshyvanyk, “Optimizing energy consumption of guis in Android apps: A multi-objective approach,” in Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ser. ESEC/FSE 2015.
[33]
D. Li, A. H. Tran, and W. G. J. Halfond, “Optimizing display energy consumption for hybrid Android apps (invited talk),” in Proceedings of the 3rd International Workshop on Software Development Lifecycle for Mobile, ser. DeMobile 2015.
[34]
J. Huang, X. Zhang, L. Tan, P. Wang, and B. Liang, “Asdroid: Detecting stealthy behaviors in Android applications by user interface and program behavior contradiction,” in Proceedings of the 36th International Conference on Software Engineering, ser. ICSE 2014.
[35]
J. Huang, Z. Li, X. Xiao, Z. Wu, K. Lu, X. Zhang, and G. Jiang, “Supor: Precise and scalable sensitive user input detection for Android apps,” in Proceedings of the 24th USENIX Security Symposium, ser. USENIX Security 2015. {Online}. Available: http://blogs.usenix.org/ conference/usenixsecurity15/technicalsessions/presentation/huang
[36]
Y. Nan, M. Yang, Z. Yang, S. Zhou, G. Gu, and X. Wang, “Uipicker: User-input privacy identification in mobile applications,” in Proceedings of the 24th USENIX Security Symposium, ser. USENIX Security 2015.
[37]
J. Huang, X. Zhang, and L. Tan, “Detecting sensitive data disclosure via bi-directional text correlation analysis,” in Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ser. FSE 2016.
[38]
M. D. Ernst, R. Just, S. Millstein, W. Dietl, S. Pernsteiner, F. Roesner, K. Koscher, P. B. Barros, R. Bhoraskar, S. Han, P. Vines, and E. X. Wu, “Collaborative verification of information flow for a high-assurance app store,” in Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, ser. CCS 2014.

Cited By

View all
  • (2022)Studying and Understanding the Tradeoffs Between Generality and Reduction in Software DebloatingProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3556970(1-13)Online publication date: 10-Oct-2022
  • (2020)Subdomain-based generality-aware debloatingProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416644(224-236)Online publication date: 21-Dec-2020

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
ASE '17: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering
October 2017
1033 pages
ISBN:9781538626849

Sponsors

Publisher

IEEE Press

Publication History

Published: 30 October 2017

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Studying and Understanding the Tradeoffs Between Generality and Reduction in Software DebloatingProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3556970(1-13)Online publication date: 10-Oct-2022
  • (2020)Subdomain-based generality-aware debloatingProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416644(224-236)Online publication date: 21-Dec-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media