skip to main content
10.1145/3302424.3303989acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Serving Mobile Apps: A Slice at a Time

Published:25 March 2019Publication History

ABSTRACT

End users wanting to do more and more with mobile apps has led to explosive growth in the number of available apps. This has widened the gap between developers making apps available and end users being able to install all the apps they want on their device. To address this, Google introduced Instant Apps for Android where users can access selective app features on demand without having to download and install entire apps. But this requires developers to refactor apps and limits the apps' functionality.

In this paper, we present AppSlicer -- a solution that automates the creation, delivery, execution and cleanup of lightweight app slices from native apps. With AppSlicer, app slices are created from existing native apps, without requiring any additional developer effort. App slices run on end-user devices and correspond to arbitrary single functionality (task) that is carried out using an app. We demonstrate that app slicing is practical, it provides users with seamless access to app functionality with performance matching that of native installed apps, and better than other technologies for on-demand delivery of apps.

References

  1. Android Debug Bridge. http://goo.gl/Mzvl3j.Google ScholarGoogle Scholar
  2. AGRAWAL, H., AND HORGAN, J. R. Dynamic Program Slicing. In Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation (New York, NY, USA, 1990), PLDI '90, ACM, pp. 246--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dependency Graphs of App Apks. https://github.com/alexzaitsev/apk-dependency-graph.Google ScholarGoogle Scholar
  4. Working with App Thinning. https://www.appcoda.com/app-thinning/.Google ScholarGoogle Scholar
  5. Top 6 Android App Managers. https://drfone.wondershare.com/android/android-app-manager.html.Google ScholarGoogle Scholar
  6. Barcelona Municipal Apps. https://ajuntament.barcelona.cat/apps/en/.Google ScholarGoogle Scholar
  7. Microsoft AppV. https://docs.microsoft.com/en-us/windows/application-management/app-v/appv-for-windows.Google ScholarGoogle Scholar
  8. Bernstein, M. S., Monroy-Hernández, A., Harry, D., André, P., Panovich, K., and Vargas, G. G. 4chan and /b/: An Analysis of Anonymity and Ephemerality in a Large Online Community. In ICWSM (2011).Google ScholarGoogle Scholar
  9. Bhardwaj, K., Agarwal, P., Gavrilovska, A., Schwan, K., and Allred, A. AppFlux: Taming App Delivery via Streaming. In 2015 Conference on Timely Results in Operating Systems (TRIOS 15) (Monterey, CA, USA, 2015), USENIX Association.Google ScholarGoogle Scholar
  10. Bhardwaj, K., Gavrilovska, A., and Schwan, K. Ephemeral Apps. In Proceedings of the 17th International Workshop on Mobile Computing Systems and Applications, HotMobile 2016, St. Augustine, FL, USA, February 23-24, 2016 (2016), pp. 81--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bhardwaj, K., Gavrilovska, A., Steiner, M., Flack, M., and Ludin, S. DRIVESHAFT: Improving Perceived Mobile Web Performance. ArXiv e-prints (Sept. 2018).Google ScholarGoogle Scholar
  12. Chun, B.-G., Ihm, S., Maniatis, P., Naik, M., and Patti, A. Clonecloud: Elastic Execution between Mobile Device and Cloud. In Proceedings of the sixth conference on Computer systems (2011), ACM, pp. 301--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Numecent Cloudpaging. http://goo.gl/t8soKL.Google ScholarGoogle Scholar
  14. Cuervo, E., Balasubramanian, A., Cho, D.-K., Wolman, A., Saroiu, S., Chandra, R., and Bahl, P. MAUI: Making Smartphones Last Longer with Code Offload. In Proceedings of the 8th international conference on Mobile systems, applications, and services (2010), ACM, pp. 49--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dunn, A. M., Lee, M. Z., Jana, S., Kim, S., Silberstein, M., Xu, Y., Shmatikov, V., and Witchel, E. Eternal Sunshine of the Spotless Machine: Protecting Privacy with Ephemeral Channels. In Presented as part of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12) (Hollywood, CA, 2012), USENIX, pp. 61--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Google Streaming App Content. http://goo.gl/mM5HvI.Google ScholarGoogle Scholar
  17. Giurgiu, I., Riva, O., and Alonso, G. Dynamic Software Deployment from Clouds to Mobile Devices. In Proceedings of the 13th International Middleware Conference (New York, NY, USA, 2012), Middleware '12, Springer-Verlag New York, Inc., pp. 394--414. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Giurgiu, I., Riva, O., Juric, D., Krivulev, I., and Alonso, G. Calling the Cloud: Enabling Mobile Phones As Interfaces to Cloud Applications. In Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware (Berlin, Heidelberg, 2009), Middleware '09, Springer-Verlag, pp. 5:1--5:20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hunt, G. C., and Scott, M. L. The Coign Automatic Distributed Partitioning System. In Proceedings of the Third Symposium on Operating Systems Design and Implementation (Berkeley, CA, USA, 1999), OSDI '99, USENIX Association, pp. 187--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Google Instant apps. https://developer.android.com/topic/instant-apps/index.html.Google ScholarGoogle Scholar
  21. Instart Logic - Web Application Streaming. http://goo.gl/D559rq.Google ScholarGoogle Scholar
  22. Jeong, S., Lee, K., Lee, S., Son, S., and Won, Y. I/O Stack Optimization for Smartphones. In Proceedings of the 2013 USENIX Conference on Annual Technical Conference (Berkeley, CA, USA, 2013), USENIX ATC'13, USENIX Association, pp. 309--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Native App Poularity -- Kahuna. https://goo.gl/jzovpt.Google ScholarGoogle Scholar
  24. Kim, H., Agrawal, N., and Ungureanu, C. Examining Storage Performance on Mobile Devices. In Proceedings of the 3rd ACM SOSP Workshop on Networking, Systems, and Applications on Mobile Handhelds (New York, NY, USA, 2011), MobiHeld '11, ACM, pp. 6:1--6:6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Kim, H., Agrawal, N., and Ungureanu, C. Revisiting Storage for Smartphones. Trans. Storage 8, 4 (Dec. 2012), 14:1--14:25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Kim, J.-M., and Kim, J.-S. AndroBench: Benchmarking the Storage Performance of Android-Based Mobile Devices. In Frontiers in Computer Education, S. Sambath and E. Zhu, Eds., vol. 133 of Advances in Intelligent and Soft Computing. Springer Berlin Heidelberg, 2012, pp. 667--674.Google ScholarGoogle ScholarCross RefCross Ref
  27. Hybrid vs Native Mobile Apps -- The Answer is Clear. https://ymedialabs.com/hybrid-vs-native-mobile-apps-the-answer-is-clear/.Google ScholarGoogle Scholar
  28. Li, Y., Zhu, C., Rubin, J., and Chechik, M. Semantic Slicing of Software Version Histories. IEEE Transactions on Software Engineering 44, 2 (Feb 2018), 182--201.Google ScholarGoogle ScholarCross RefCross Ref
  29. Why "Progressive Web Apps vs. Native" Is the Wrong Question to Ask. https://goo.gl/2JtYCP.Google ScholarGoogle Scholar
  30. Netravali, R., Nathan, V., Mickens, J., and Balakrishnan, H. Vesper: Measuring Time-to-Interactivity for Web Pages. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18) (Renton, WA, 2018), USENIX Association, pp. 217--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Newton, R., Toledo, S., Girod, L., Balakrishnan, H., and Madden, S. Wishbone: Profile-based Partitioning for Sensornet Applications. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (Berkeley, CA, USA, 2009), NSDI'09, USENIX Association, pp. 395--408. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Novell - Application Virtualization. http://goo.gl/vjxWYb.Google ScholarGoogle Scholar
  33. Smart City Berlin. https://www.berlin.de/sen/wirtschaft/en/economics-and-technology/centres-of-technology-zukunftsorte-smart-city/smart-city/.Google ScholarGoogle Scholar
  34. Smart Dublin. http://smartdublin.ie/.Google ScholarGoogle Scholar
  35. Markets and markets report smart cities market worth 717.2 billion usd by 2023. https://www.marketsandmarkets.com/PressReleases/smart-cities.asp.Google ScholarGoogle Scholar
  36. Smart Cities Report Forecasts Trillions in Economic Growth. https://www.smartcitiesworld.net/news/news/mart-cities-report-forecasts-trillions-in-economic-growth-2528.Google ScholarGoogle Scholar
  37. WebPagetest Speed Index Metric. http://goo.gl/Rw3d5d.Google ScholarGoogle Scholar
  38. Symantec Workspace Streaming. http://goo.gl/NAA13p.Google ScholarGoogle Scholar
  39. TIP, F. A Survey of Program Slicing Techniques. Tech. rep., Amsterdam, The Netherlands, The Netherlands, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Vimeo Blog -- Creating an Instant App. https://medium.com/vimeo-engineering-blog/vimeo-android-instant-apps-2f8b1e94760c.Google ScholarGoogle Scholar
  41. Weiser, M. Program slicing. In Proceedings of the 5th International Conference on Software Engineering (Piscataway, NJ, USA, 1981), ICSE '81, IEEE Press, pp. 439--449. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Citrix XenApp. http://goo.gl/qbdGPT.Google ScholarGoogle Scholar

Index Terms

  1. Serving Mobile Apps: A Slice at a Time

                      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
                      • Published in

                        cover image ACM Conferences
                        EuroSys '19: Proceedings of the Fourteenth EuroSys Conference 2019
                        March 2019
                        714 pages
                        ISBN:9781450362818
                        DOI:10.1145/3302424

                        Copyright © 2019 ACM

                        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]

                        Publisher

                        Association for Computing Machinery

                        New York, NY, United States

                        Publication History

                        • Published: 25 March 2019

                        Permissions

                        Request permissions about this article.

                        Request Permissions

                        Check for updates

                        Qualifiers

                        • research-article
                        • Research
                        • Refereed limited

                        Acceptance Rates

                        Overall Acceptance Rate241of1,308submissions,18%

                      PDF Format

                      View or Download as a PDF file.

                      PDF

                      eReader

                      View online with eReader.

                      eReader