skip to main content
10.1145/3498361.3538929acmconferencesArticle/Chapter ViewAbstractPublication PagesmobisysConference Proceedingsconference-collections
research-article
Public Access

Floo: automatic, lightweight memoization for faster mobile apps

Published: 27 June 2022 Publication History

Abstract

Owing to growing feature sets and sluggish improvements to smartphone CPUs (relative to mobile networks), mobile app response times have increasingly become bottlenecked on client-side computations. In designing a solution to this emerging issue, our primary insight is that app computations exhibit substantial stability over time in that they are entirely performed in rarely-updated codebases within app binaries and the OS. Building on this, we present Floo, a system that aims to automatically reuse (or memoize) computation results during app operation in an effort to reduce the amount of compute needed to handle user interactions. To ensure practicality - the struggle with any memoization effort - in the face of limited mobile device resources and the short-lived nature of each app computation, Floo embeds several new techniques that collectively enable it to mask cache lookup overheads and ensure high cache hit rates, all the while guaranteeing correctness for any reused computations. Across a wide range of apps, live networks, phones, and interaction traces, Floo reduces median and 95th percentile interaction response times by 32.7% and 72.3%.

References

[1]
2018. Soot Issue: APKs are crashing after a simple unpack/repack with Soot. https://github.com/soot-oss/soot/issues/999.
[2]
2019. Soot Issue: Android App crashes after Soot Instrumentation even with empty internalTransform() body. https://github.com/soot-oss/soot/issues/1152.
[3]
2020. FFmpeg. https://ffmpeg.org/.
[4]
2021. Kyro. https://github.com/EsotericSoftware/kryo.
[5]
Giovanni Agosta, Marco Bessi, Eugenio Capra, and Chiara Francalanci. 2011. Dynamic memoization for energy efficiency in financial applications. In 2011 International Green Computing Conference and Workshops. IEEE, 1--8.
[6]
Android Developers. 2020. Keeping your app responsive. https://developer.android.com/training/articles/perf-anr#Reinforcing.
[7]
Android Developers. 2021. Android API Reference. https://developer.android.com/reference/android/view/View.
[8]
AppDynamics. 2014. AppDynamics Releases App Attention Span Study Which Shows Nearly 90 Percent Surveyed Stopped. https://bit.ly/39pMAXM.
[9]
Pedro V Artigas, Manish Gupta, Samuel P Midkiff, and José E Moreira. 2000. Automatic loop transformations and parallelization for Java. In Proceedings of the 14th international conference on Supercomputing. 1--10.
[10]
Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, and Patrick McDaniel. 2014. FlowDroid: Precise Context, Flow, Field, Object-Sensitive and Lifecycle-Aware Taint Analysis for Android Apps. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (Edinburgh, United Kingdom) (PLDI '14). Association for Computing Machinery, New York, NY, USA, 259--269.
[11]
Roberto Baldoni, Emilio Coppa, Daniele Cono D'elia, Camil Demetrescu, and Irene Finocchi. 2018. A survey of symbolic execution techniques. ACM Computing Surveys (CSUR) 51, 3 (2018), 1--39.
[12]
Abhijeet Banerjee and Abhik Roychoudhury. 2016. Automated re-factoring of android apps to enhance energy-efficiency. In Proceedings of the International Conference on Mobile Software Engineering and Systems. 139--150.
[13]
Paul Baumann and Silvia Santini. 2017. Every byte counts: Selective prefetching for mobile applications. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 1, 2 (2017), 1--29.
[14]
Kevin Boos, David Chu, and Eduardo Cuervo. 2016. Flashback: Immersive virtual reality on mobile devices via rendering memoization. In Proceedings of the 14th Annual International Conference on Mobile Systems, Applications, and Services. 291--304.
[15]
Borys J Bradel and Tarek S Abdelrahman. 2007. Automatic trace-based parallelization of java programs. In 2007 International Conference on Parallel Processing (ICPP 2007). IEEE, 26--26.
[16]
Michael Butkiewicz, Daimeng Wang, Zhe Wu, Harsha Madhyastha, and Vyas Sekar. 2015. Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices. In Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation (Oakland, CA) (NSDI). USENIX Association.
[17]
Bogdan Carbunar and Rahul Potharaju. 2015. A longitudinal study of the google app market. In Proceedings of the 2015 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining 2015. 242--249.
[18]
Michael K Chen and Kunle Olukotun. 2003. The Jrpm system for dynamically parallelizing Java programs. In 30th Annual International Symposium on Computer Architecture, 2003. Proceedings. IEEE, 434--445.
[19]
Tiffany Yu-Han Chen, Lenin Ravindranath, Shuo Deng, Paramvir Bahl, and Hari Balakrishnan. 2015. Glimpse: Continuous, Real-Time Object Recognition on Mobile Devices. In Proceedings of the 13th ACM Conference on Embedded Networked Sensor Systems. 155--168.
[20]
Byungkwon Choi, Jeongmin Kim, Daeyang Cho, Seongmin Kim, and Dongsu Han. 2018. Appx: an automated app acceleration framework for low latency mobile app. In Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies. 27--40.
[21]
Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis, Mayur Naik, and Ashwin Patti. 2011. CloneCloud: Elastic Execution between Mobile Device and Cloud. In Proceedings of the Sixth Conference on Computer Systems (Salzburg, Austria) (EuroSys '11). Association for Computing Machinery, 301--314.
[22]
Cisco. 2021. Cisco Annual Internet Report - Cisco Annual Internet Report Highlights Tool. https://www.cisco.com/c/en/us/solutions/executive-perspectives/annual-internet-report/air-highlights.html.
[23]
Eduardo Cuervo, Aruna Balasubramanian, Dae-ki Cho, Alec Wolman, Stefan Saroiu, Ranveer Chandra, and Paramvir Bahl. 2010. MAUI: making smartphones last longer with code offload. In Proceedings of the 8th international conference on Mobile systems, applications, and services. 49--62.
[24]
Biplab Deka, Zifeng Huang, Chad Franzen, Joshua Hibschman, Daniel Afergan, Yang Li, Jeffrey Nichols, and Ranjitha Kumar. 2017. Rico: A Mobile App Dataset for Building Data-Driven Design Applications. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology (Québec City, QC, Canada) (UIST '17). Association for Computing Machinery, 845--854.
[25]
Luca Della Toffola, Michael Pradel, and Thomas R Gross. 2015. Performance problems you can fix: A dynamic analysis of memoization opportunities. ACM SIGPLAN Notices 50, 10 (2015), 607--622.
[26]
Android Developers. 2019. Inspect CPU activity with CPU Profiler.
[27]
Android Developers. 2019. Profile battery usage with Batterystats and Battery Historian.
[28]
Dimensional Research. 2015. Failing to Meet Mobile App User Expectations: A Mobile App User Survey. https://techbeacon.com/sites/default/files/gated_asset/mobile-app-user-survey-failing-meet-user-expectations.pdf.
[29]
Zhen Dong, Abhishek Tiwari, Xiao Liang Yu, and Abhik Roychoudhury. 2020. Concurrency-related flaky test detection in android apps. arXiv preprint arXiv:2005.10762 (2020).
[30]
Hossein Falaki, Ratul Mahajan, Srikanth Kandula, Dimitrios Lymberopoulos, Ramesh Govindan, and Deborah Estrin. 2010. Diversity in Smartphone Usage. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (San Francisco, California, USA) (MobiSys '10). Association for Computing Machinery, 179--194.
[31]
Jiaojiao Fu, Yaohui Wang, Yangfan Zhou, and Xin Wang. 2022. How resource utilization influences UI responsiveness of Android software. Information and Software Technology 141 (2022), 106728.
[32]
GeekBench. 2021. Google Pixel 5. https://browser.geekbench.com/v5/cpu/11564175.
[33]
GeekBench. 2021. Samsung Galaxy Note 9. https://browser.geekbench.com/v5/cpu/11562629.
[34]
Y. Geng, Y. Yang, and G. Cao. 2018. Energy-Efficient Computation Offloading for Multicore-Based Mobile Devices. In IEEE Conference on Computer Communications (INFOCOM). 46--54.
[35]
Ali Ghanbari and Andrian Marcus. 2021. Toward Speeding up Mutation Analysis by Memoizing Expensive Methods. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER). 71--75.
[36]
Ayush Goel, Vaspol Ruamviboonsuk, Ravi Netravali, and Harsha V Madhyastha. 2021. Rethinking Client-Side Caching for the Mobile Web. In Proceedings of the 22nd International Workshop on Mobile Computing Systems and Applications. 112--118.
[37]
Google. 2012. Speed Index - WebPagetest Documentation. https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index.
[38]
Google. 2020. Google Play Store. https://play.google.com/store.
[39]
Google. 2020. Volley. https://developer.android.com/training/volley/index.html.
[40]
Michael I Gordon, Deokhwan Kim, Jeff H Perkins, Limei Gilham, Nguyen Nguyen, and Martin C Rinard. 2015. Information flow analysis of android applications in droidsafe. In NDSS, Vol. 15. 110.
[41]
Mark S Gordon, David Ke Hong, Peter M Chen, Jason Flinn, Scott Mahlke, and Zhuoqing Morley Mao. 2015. Accelerating mobile applications through flip-flop replication. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. 137--150.
[42]
Mark S Gordon, David Ke Hong, Peter M Chen, Jason Flinn, Scott Mahlke, and Zhuoqing Morley Mao. 2015. Tango: accelerating mobile applications through flip-flop replication. GetMobile: Mobile Computing and Communications 19, 3 (2015), 10--13.
[43]
Mark S. Gordon, D. Anoushe Jamshidi, Scott Mahlke, Z. Morley Mao, and Xu Chen. 2012. COMET: Code Offload by Migrating Execution Transparently. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Hollywood, CA, USA) (OSDI'12). USENIX Association, 93--106.
[44]
Peizhen Guo and Wenjun Hu. 2018. Potluck: Cross-application approximate deduplication for computation-intensive mobile applications. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems. 271--284.
[45]
Yao Guo, Mengxin Liu, and Xiangqun Chen. 2017. Looxy: Web Access Optimization for Mobile Applications with a Local Proxy. In 2017 IEEE 85th Vehicular Technology Conference (VTC Spring). IEEE, 1--5.
[46]
Brett D Higgins, Jason Flinn, Thomas J Giuli, Brian Noble, Christopher Peplin, and David Watson. 2012. Informed mobile prefetching. In Proceedings of the 10th international conference on Mobile systems, applications, and services. 155--168.
[47]
Yongjian Hu, Tanzirul Azim, and Iulian Neamtiu. 2015. Versatile yet lightweight record-and-replay for android. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 349--366.
[48]
Immobi. 2020. Mobile App Vs Website Statistics: How App Usage Compares To Mobile Web Visits In The United States. https://bit.ly/3sgObI9.
[49]
Tushar Jain. 2017. 7 pre-launch mobile app performance metrics to measure. https://kaysharbor.com/blog/mobile/7-pre-launch-mobile-app-performance-metrics.
[50]
Simon L. Jones, Denzil Ferreira, Simo Hosio, Jorge Goncalves, and Vassilis Kostakos. 2015. Revisitation Analysis of Smartphone App Use. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing (Osaka, Japan) (UbiComp '15). Association for Computing Machinery, 1197--1208.
[51]
Iffat H Kazi, Howard H Chen, Berdenia Stanley, and David J Lilja. 2000. Techniques for obtaining high performance in Java programs. ACM Computing Surveys (CSUR) 32, 3 (2000), 213--240.
[52]
Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal. 2010. Cuckoo: a computation offloading framework for smartphones. In International Conference on Mobile Computing, Applications, and Services. Springer, 59--79.
[53]
Raffi Khatchadourian, Yiming Tang, and Mehdi Bagherzadeh. 2020. Safe automated refactoring for intelligent parallelization of Java 8 streams. Science of Computer Programming 195 (2020), 102476.
[54]
Seyeon Kim, Kyungmin Bin, Sangtae Ha, Kyunghan Lee, and Song Chong. 2021. zTT: learning-based DVFS with zero thermal throttling for mobile devices. In Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and Services. 41--53.
[55]
Ding Li, Yingjun Lyu, Jiaping Gui, and William GJ Halfond. 2016. Automated energy optimization of http requests for mobile applications. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). IEEE, 249--260.
[56]
Yuanchun Li, Ziyue Yang, Yao Guo, and Xiangqun Chen. 2019. Humanoid: A Deep Learning-Based Approach to Automated Black-Box Android App Testing. In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (San Diego, California) (ASE '19). IEEE Press, 1070--1073.
[57]
Robert LiKamWa and Lin Zhong. 2015. Starfish: Efficient concurrency support for computer vision applications. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. 213--226.
[58]
Chit-Kwan Lin and H. T. Kung. 2014. Mobile App Acceleration via Fine-Grain Offloading to the Cloud. In Proceedings of the 6th USENIX Conference on Hot Topics in Cloud Computing (Philadelphia, PA) (HotCloud'14). USENIX Association, 8.
[59]
Xuanzhe Liu, Yun Ma, Yunxin Liu, Tao Xie, and Gang Huang. 2015. Demystifying the imperfect client-side cache performance of mobile web browsing. IEEE Transactions on Mobile Computing 15, 9 (2015), 2206--2220.
[60]
Yozen Liu, Xiaolin Shi, Lucas Pierce, and Xiang Ren. 2019. Characterizing and forecasting user engagement with in-app action graph: A case study of snapchat. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2023--2031.
[61]
Yun Ma, Xuanzhe Liu, Shuhui Zhang, Ruirui Xiang, Yunxin Liu, and Tao Xie. 2015. Measurement and analysis of mobile web cache performance. In Proceedings of the 24th International Conference on World Wide Web. 691--701.
[62]
Ivano Malavolta, Francesco Nocera, Patricia Lago, and Marina Mongiello. 2019. Navigation-aware and personalized prefetching of network requests in Android apps. In 2019 IEEE/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER). IEEE, 17--20.
[63]
Shaghayegh Mardani, Ayush Goel, Ronny Ko, Harsha V. Madhyastha, and Ravi Netravali. 2021. Horcrux: Automatic JavaScript Parallelism for Resource-Efficient Web Computation. In 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI 21). USENIX Association, 461--477.
[64]
Donald Michie. 1968. "Memo" functions and machine learning. Nature 218, 5136 (1968), 19--22.
[65]
James Mickens. 2010. Silo: Exploiting JavaScript and DOM Storage for Faster Page Loads. In WebApps.
[66]
MindSea. 2020. 28 Mobile App Statistics To Know In 2020. https://mindsea.com/app-stats/.
[67]
Anders Møller and Oskar Haarklou Veileborg. 2020. Eliminating abstraction overhead of Java stream pipelines using ahead-of-time program optimization. Proceedings of the ACM on Programming Languages 4, OOPSLA (2020), 1--29.
[68]
San Murugesan. 2013. Mobile Apps in Africa. IT Professional 15, 5 (2013), 8--11.
[69]
Arvind Narayanan, Eman Ramadan, Jason Carpenter, Qingxu Liu, Yu Liu, Feng Qian, and Zhi-Li Zhang. 2020. A First Look at Commercial 5G Performance on Smartphones. In Proceedings of The Web Conference 2020 (Taipei, Taiwan) (WWW '20). Association for Computing Machinery, New York, NY, USA, 894--905.
[70]
Ravi Netravali, Ameesh Goyal, James Mickens, and Hari Balakrishnan. 2016. Polaris: Faster Page Loads Using Fine-grained Dependency Tracking. In Proceedings of the 13th USENIX Conference on Networked Systems Design and Implementation (Santa Clara, CA) (NSDI). USENIX Association, Berkeley, CA, USA.
[71]
Ravi Netravali and James Mickens. 2018. Prophecy: Accelerating Mobile Page Loads Using Final-state Write Logs. In Proceedings of the 15th USENIX Conference on Networked Systems Design and Implementation (Renton, WA) (NSDI). USENIX Association, Berkeley, CA, USA.
[72]
Ravi Netravali and James Mickens. 2018. Remote-control caching: Proxy-based url rewriting to decrease mobile browsing bandwidth. In Proceedings of the 19th International Workshop on Mobile Computing Systems & Applications. 63--68.
[73]
Ravi Netravali and James Mickens. 2019. Reverb: Speculative Debugging for Web Applications. In Proceedings of the ACM Symposium on Cloud Computing. 428--440.
[74]
Ravi Netravali, Vikram Nathan, James Mickens, and Hari Balakrishnan. 2018. Vesper: Measuring Time-to-Interactivity for Web Pages. In Proceedings of the 15th USENIX Conference on Networked Systems Design and Implementation (Renton, WA) (NSDI). USENIX Association, Renton, WA, USA.
[75]
Ravi Netravali, Anirudh Sivaraman, James Mickens, and Hari Balakrishnan. 2019. WatchTower: Fast, Secure Mobile Page Loads Using Remote Dependency Resolution. In Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services (Seoul, Republic of Korea) (MobiSys '19). ACM, 430--443.
[76]
R. Netravali, A. Sivaraman, K. Winstein, S. Das, A. Goyal, J. Mickens, and H. Balakrishnan. 2015. Mahimahi: Accurate Record-and-Replay for HTTP (Proceedings of ATC '15). USENIX.
[77]
David T Nguyen, Gang Zhou, Guoliang Xing, Xin Qi, Zijiang Hao, Ge Peng, and Qing Yang. 2015. Reducing smartphone application delay through read/write isolation. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. 287--300.
[78]
Peter Norvig. 1991. Techniques for automatic memoization with applications to context-free parsing. Computational Linguistics 17, 1 (1991), 91--98.
[79]
Andreas Pamboris and Peter Pietzuch. 2015. Edge Reduce: Eliminating Mobile Network Traffic Using Application-Specific Edge Proxies. In 2015 2nd ACM International Conference on Mobile Software Engineering and Systems. IEEE, 72--82.
[80]
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. 275--284.
[81]
KyoungSoo Park, Sunghwan Ihm, Mic Bowman, and Vivek S Pai. 2007. Supporting Practical Content-Addressable Caching with CZIP Compression. In USENIX Annual Technical Conference. 185--198.
[82]
Gavin Phillips. 2020. Smartphones vs. Desktops: Why Is My Phone Slower Than My PC? https://www.makeuseof.com/tag/smartphone-desktop-processor-differences/.
[83]
Adriano Pinto, Marco Couto, and Jácome Cunha. 2018. Memoization for Saving Energy in Android Applications. (2018).
[84]
Feng Qian, Kee Shen Quah, Junxian Huang, Jeffrey Erman, Alexandre Gerber, Zhuoqing Mao, Subhabrata Sen, and Oliver Spatscheck. 2012. Web caching on smartphones: ideal vs. reality. In Proceedings of the 10th international conference on Mobile systems, applications, and services. 127--140.
[85]
Feng Qian, Subhabrata Sen, and Oliver Spatscheck. 2014. Characterizing resource usage for mobile web browsing. In Proceedings of the 12th annual international conference on Mobile systems, applications, and services. 218--231.
[86]
Murali Ramanujam, Harsha V. Madhyastha, and Ravi Netravali. 2021. Marauder: Synergized Caching and Prefetching for Low-Risk Mobile App Acceleration. In Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and Services (Virtual Event, Wisconsin) (MobiSys '21). Association for Computing Machinery, New York, NY, USA, 350--362.
[87]
Karthik Rao, Jun Wang, Sudhakar Yalamanchili, Yorai Wardi, and Handong Ye. 2017. Application-specific performance-aware energy optimization on android mobile devices. In 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 169--180.
[88]
Lenin Ravindranath, Sharad Agarwal, Jitendra Padhye, and Chris Riederer. 2014. Procrastinator: pacing mobile apps' usage of the network. In Proceedings of the 12th annual international conference on Mobile systems, applications, and services. 232--244.
[89]
Hugo Rito and Joao Cachopo. 2010. Memoization of methods using software transactional memory to track internal state dependencies. In Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java. 89--98.
[90]
Rui Rua, Marco Couto, Adriano Pinto, Jácome Cunha, and Joao Saraiva. 2019. Towards using memoization for saving energy in android. (2019).
[91]
Vaspol Ruamviboonsuk, Ravi Netravali, Muhammed Uluyol, and Harsha V. Madhyastha. 2017. Vroom: Accelerating the Mobile Web with Server-Aided Dependency Resolution. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication (Los Angeles, CA, USA) (SIGCOMM). ACM.
[92]
Ahiwan Sivakumar, Chuan Jiang, Seong Nam, P.N. Shankaranarayanan, Vijay Gopalakrishnan, Sanjay Rao, Subhabrata Sen, Mithuna Thottethodi, and T.N. Vijaykumar. 2017. Scalable Whittled Proxy Execution for Low-Latency Web over Cellular Networks. In Proceedings of the 23rd Annual International Conference on Mobile Computing and Networking (Snowbird, Utah) (Mobicom). ACM.
[93]
Daniel Staesser. 2018. The Emergence of Mobile Apps in Developing Countries. https://borgenproject.org/emergence-mobile-apps-in-developing-countries/.
[94]
Bjarne Steensgaard. 1996. Points-to analysis in almost linear time. In Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages. 32--41.
[95]
Arjun Suresh, Erven Rohou, and André Seznec. 2017. Compile-time function memoization. In Proceedings of the 26th International Conference on Compiler Construction. 45--54.
[96]
Arjun Suresh, Bharath Narasimha Swamy, Erven Rohou, and André Seznec. 2015. Intercepting functions for memoization: A case study using transcendental functions. ACM Transactions on Architecture and Code Optimization (TACO) 12, 2 (2015), 18--1.
[97]
Yuan Tian, Ke Zhou, Mounia Lalmas, Yiqun Liu, and Dan Pelleg. 2020. Cohort Modeling Based App Category Usage Prediction. In Proceedings of the 28th ACM Conference on User Modeling, Adaptation and Personalization. 248--256.
[98]
Connor Tumbleson and Ryszard Wisniewski. 2020. Apktool - A tool for reverse engineering Android apk files. https://ibotpeaches.github.io/Apktool/.
[99]
Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie Hendren, Patrick Lam, and Vijay Sundaresan. 2010. Soot: A Java bytecode optimization framework. In CASCON First Decade High Impact Papers. 214--224.
[100]
Raja Vallee-Rai and Laurie J Hendren. 1998. Jimple: Simplifying Java bytecode for analyses and transformations. (1998).
[101]
Haoyu Wang, Hao Li, and Yao Guo. 2019. Understanding the evolution of mobile app ecosystems: A longitudinal measurement study of google play. In The World Wide Web Conference. 1988--1999.
[102]
Jiadai Wang, Lei Zhao, Jiajia Liu, and Nei Kato. 2019. Smart resource allocation for mobile edge computing: A deep reinforcement learning approach. IEEE Transactions on emerging topics in computing (2019).
[103]
Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2013. Demystifying Page Load Performance with WProf. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (Lombard, IL) (NSDI). USENIX Association.
[104]
Xiao Sophia Wang, Arvind Krishnamurthy, and David Wetherall. 2014. How much can we micro-cache web pages?. In Proceedings of the 2014 Conference on Internet Measurement Conference. 249--256.
[105]
Fengguo Wei, Sankardas Roy, and Xinming Ou. 2014. Amandroid: A precise and general inter-component data flow analysis framework for security vetting of android apps. In Proceedings of the 2014 ACM SIGSAC conference on computer and communications security. 1329--1341.
[106]
Dongzhu Xu, Anfu Zhou, Xinyu Zhang, Guixian Wang, Xi Liu, Congkai An, Yiming Shi, Liang Liu, and Huadong Ma. 2020. Understanding Operational 5G: A First Measurement Study on Its Coverage, Performance and Energy Consumption. In Proceedings of the Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication (Virtual Event, USA) (SIGCOMM '20). Association for Computing Machinery, New York, NY, USA, 479--494.
[107]
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 international conference on Mobile systems, applications, and services. 113--126.
[108]
Shengqian Yang, Haowei Wu, Hailong Zhang, Yan Wang, Chandrasekar Swaminathan, Dacong Yan, and Atanas Rountev. 2018. Static Window Transition Graphs for Android. International Journal of Automated Software Engineering 25, 4 (Dec. 2018), 833--873.
[109]
Shengqian Yang, Hailong Zhang, Haowei Wu, Yan Wang, Dacong Yan, and Atanas Rountev. 2015. Static Window Transition Graphs for Android. In IEEE/ACM International Conference on Automated Software Engineering. 658--668.
[110]
Yifan Zhang, Chiu Tan, and Li Qun. 2013. CacheKeeper: a system-wide web caching service for smartphones. In Proceedings of the 2013 ACM international joint conference on Pervasive and ubiquitous computing. 265--274.
[111]
Yixue Zhao, Marcelo Schmitt Laser, Yingjun Lyu, and Nenad Medvidovic. 2018. Leveraging program analysis to reduce user-perceived latency in mobile applications. In Proceedings of the 40th International Conference on Software Engineering. 176--186.
[112]
Yixue Zhao, Paul Wat, Marcelo Schmitt Laser, and Nenad Medvidović. 2018. Empirically assessing opportunities for prefetching and caching in mobile apps. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 554--564.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MobiSys '22: Proceedings of the 20th Annual International Conference on Mobile Systems, Applications and Services
June 2022
668 pages
ISBN:9781450391856
DOI:10.1145/3498361
This work is licensed under a Creative Commons Attribution-NonCommercial International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 June 2022

Check for updates

Author Tags

  1. caching
  2. memoization
  3. mobile apps
  4. performance
  5. smartphones

Qualifiers

  • Research-article

Funding Sources

Conference

MobiSys '22

Acceptance Rates

Overall Acceptance Rate 274 of 1,679 submissions, 16%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 882
    Total Downloads
  • Downloads (Last 12 months)417
  • Downloads (Last 6 weeks)29
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

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