TREBLE: Fast Software Updates by Creating an Equilibrium in an Active Software Ecosystem of Globally Distributed Stakeholders
Keun Soo Yim, Iliyan Malchev, Andrew Hsieh, Dave Burke

TL;DR
TREBLE introduces a modular Android architecture that separates core and vendor components, enabling independent updates and fostering ecosystem collaboration to improve security and scalability.
Contribution
The paper details the design and implementation of TREBLE, a modular architecture for Android that improves update flexibility and ecosystem collaboration.
Findings
Successful industry rollout with silicon vendors and device makers.
Supports hypothesis that ecosystem equilibrium enhances scalability.
Enables independent updates of key Android components.
Abstract
This paper presents our experience with TREBLE, a two-year initiative to build the modular base in Android, a Java-based mobile platform running on the Linux kernel. Our TREBLE architecture splits the hardware independent core framework written in Java from the hardware dependent vendor implementations (e.g., user space device drivers, vendor native libraries, and kernel written in C/C++). Cross-layer communications between them are done via versioned, stable inter-process communication interfaces whose backward compatibility is tested by using two API compliance suites. Based on this architecture, we repackage the key Android software components that suffered from crucial post-launch security bugs as separate images. That not only enables separate ownerships but also independent updates of each image by interested ecosystem entities. We discuss our experience of delivering TREBLE…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Software System Performance and Reliability · Scientific Computing and Data Management
