The Future of Android with Liquid Development

The ART executes apps in the Dalvik VM. The Dalvik VM creates a Zygote instance when the device first boots which is responsible for sharing Android runtime libraries to new applications. New apps rely heavily on external libraries in addition to the runtime libraries for everything from graphical u...

Full description

Bibliographic Details
Other Authors: Yannes, Zachary (author)
Format: Others
Language:English
English
Published: Florida State University
Subjects:
Online Access:http://purl.flvc.org/fsu/fd/2019_Fall_Yannes_fsu_0071E_15338
Description
Summary:The ART executes apps in the Dalvik VM. The Dalvik VM creates a Zygote instance when the device first boots which is responsible for sharing Android runtime libraries to new applications. New apps rely heavily on external libraries in addition to the runtime libraries for everything from graphical user interfaces to remote databases. I propose an extension to the Zygote, aptly named Amniote, which exposes the Zygote to the user space. Amniote allows developers to sideload common third-party libraries to reduce application boot time and memory. Just like the Android runtime libraries, apps would share the address to the library and generate a local copy only when one app writes to a page. This dissertation will address three main points. First, there is an increase in third-party library usage and an increase in the number of libraries used per app. Second, the execution of benchmark apps shows that most page accesses are before COW operations, which indicates that pages from preloaded classes will infrequently be duplicated. Third, a novel framework, the Amniote framework, moves control of the Zygote process to user space allowing greater opportunities for preloading and adoption of third-party libraries. === A Dissertation submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy. === 2019 === August 1, 2019. === Android, Library, Liquid Development, Software Engineering, Virtual Machine === Includes bibliographical references. === Gary Tyson, Professor Directing Dissertation; Linda DeBrunner, University Representative; David Whalley, Committee Member; Xin Yuan, Committee Member.