{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,28]],"date-time":"2026-03-28T17:33:26Z","timestamp":1774719206799,"version":"3.50.1"},"reference-count":25,"publisher":"Association for Computing Machinery (ACM)","issue":"5s","license":[{"start":{"date-parts":[[2019,10,8]],"date-time":"2019-10-08T00:00:00Z","timestamp":1570492800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2019,10,31]]},"abstract":"<jats:p>\n            This paper presents our experience with T\n            <jats:sc>reble<\/jats:sc>\n            , a two-year initiative to build the modular base in Android, a Java-based mobile platform running on the Linux kernel. Our T\n            <jats:sc>reble<\/jats:sc>\n            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 T\n            <jats:sc>reble<\/jats:sc>\n            architectural changes to silicon vendors and device makers using a yearly release model. Our experiments and industry rollouts support our hypothesis that giving more freedom to all ecosystem entities and creating an equilibrium are a transformation necessary to further scale the world largest open source ecosystem with over two billion active devices.\n          <\/jats:p>","DOI":"10.1145\/3358237","type":"journal-article","created":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T13:13:05Z","timestamp":1570713185000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["T\n            <scp>reble<\/scp>"],"prefix":"10.1145","volume":"18","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1886-1936","authenticated-orcid":false,"given":"Keun Soo","family":"Yim","sequence":"first","affiliation":[{"name":"Google, Mountain View, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Iliyan","family":"Malchev","sequence":"additional","affiliation":[{"name":"Google, Mountain View, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrew","family":"Hsieh","sequence":"additional","affiliation":[{"name":"Google, Mountain View, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dave","family":"Burke","sequence":"additional","affiliation":[{"name":"Google, Mountain View, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,10,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the IEEE Symposium on Security and Privacy (S8P). 433--451","author":"Acar Y.","unstructured":"Y. Acar , M. Backes , S. Bugiel , S. Fahl , P. McDaniel , and M. Smith . 2016. SoK: Lessons learned from Android security research for appified software platforms . In Proceedings of the IEEE Symposium on Security and Privacy (S8P). 433--451 . Y. Acar, M. Backes, S. Bugiel, S. Fahl, P. McDaniel, and M. Smith. 2016. SoK: Lessons learned from Android security research for appified software platforms. In Proceedings of the IEEE Symposium on Security and Privacy (S8P). 433--451."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). 173--187","author":"Andrus J.","unstructured":"J. Andrus , C. Dall , A. V. Hof , R. Laadan , and J. Nieh . 2011. Cells: A virtual mobile smartphone architecture . In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). 173--187 . J. Andrus, C. Dall, A. V. Hof, R. Laadan, and J. Nieh. 2011. Cells: A virtual mobile smartphone architecture. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). 173--187."},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 367--382","author":"Andrus J.","unstructured":"J. Andrus , A. Van\u2019t Hof , N. AlDuaij , C. Dall , N. Viennot , and J. Nieh . 2014. Cider: Native execution of iOS apps on Android . In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 367--382 . J. Andrus, A. Van\u2019t Hof, N. AlDuaij, C. Dall, N. Viennot, and J. Nieh. 2014. Cider: Native execution of iOS apps on Android. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 367--382."},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the ACM European Conference on Computer Systems (EuroSys). 187--198","author":"Arnold J.","unstructured":"J. Arnold and M. Frans Kaashoek . 2009. Ksplice: Automatic rebootless kernel updates . In Proceedings of the ACM European Conference on Computer Systems (EuroSys). 187--198 . J. Arnold and M. Frans Kaashoek. 2009. Ksplice: Automatic rebootless kernel updates. In Proceedings of the ACM European Conference on Computer Systems (EuroSys). 187--198."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC). 279--291","author":"Baumann A.","unstructured":"A. Baumann , G. Heiser , J. Appavoo , D. Da Silva , O. Krieger , R. W. Wisniewski , and J. Kerr . 2005. Providing dynamic update in an operating system . In Proceedings of the USENIX Annual Technical Conference (ATC). 279--291 . A. Baumann, G. Heiser, J. Appavoo, D. Da Silva, O. Krieger, R. W. Wisniewski, and J. Kerr. 2005. Providing dynamic update in an operating system. In Proceedings of the USENIX Annual Technical Conference (ATC). 279--291."},{"key":"e_1_2_1_6_1","volume-title":"Retrieved","author":"Burke D.","year":"2017","unstructured":"D. Burke . 2017 . Introducing Android v8.0 Oreo . Retrieved July 18, 2019 from https:\/\/android-developers.googleblog.com\/2017\/08\/introducing-android-8-oreo.html. D. Burke. 2017. Introducing Android v8.0 Oreo. Retrieved July 18, 2019 from https:\/\/android-developers.googleblog.com\/2017\/08\/introducing-android-8-oreo.html."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the ACM International Conference on Mining Software Repositories (MSR). 142--152","author":"Calciati P.","unstructured":"P. Calciati , K. Kuznetsov , X. Bai , and A. Gorla . 2018. What did really change with the new release of the app? . In Proceedings of the ACM International Conference on Mining Software Repositories (MSR). 142--152 . P. Calciati, K. Kuznetsov, X. Bai, and A. Gorla. 2018. What did really change with the new release of the app?. In Proceedings of the ACM International Conference on Mining Software Repositories (MSR). 142--152."},{"key":"e_1_2_1_8_1","volume-title":"Retrieved","author":"Central Android","year":"2018","unstructured":"Android Central . 2018 . What\u2019s new in Android P at Google I\/O 2018 . Retrieved July 18, 2019 from https:\/\/www.androidcentral.com\/whats-new-android-google-io-2018. Android Central. 2018. What\u2019s new in Android P at Google I\/O 2018. Retrieved July 18, 2019 from https:\/\/www.androidcentral.com\/whats-new-android-google-io-2018."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2015.2389791"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 333--348","author":"Dall C.","unstructured":"C. Dall and J. Nieh . 2014. KVM\/ARM: The design and implementation of the linux ARM hypervisor . In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 333--348 . C. Dall and J. Nieh. 2014. KVM\/ARM: The design and implementation of the linux ARM hypervisor. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 333--348."},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the ACM Conference on Computer and Communications Security (CCS). 2187--2200","author":"Derr E.","unstructured":"E. Derr , S. Bugiel , S. Fahl , Y. Acar , and M. Backes . 2017. Keep me updated: An empirical study of third-party library updatability on Android . In Proceedings of the ACM Conference on Computer and Communications Security (CCS). 2187--2200 . E. Derr, S. Bugiel, S. Fahl, Y. Acar, and M. Backes. 2017. Keep me updated: An empirical study of third-party library updatability on Android. In Proceedings of the ACM Conference on Computer and Communications Security (CCS). 2187--2200."},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). 133--150","author":"Elphinstone K.","unstructured":"K. Elphinstone and G. Heiser . 2013. From L3 to seL4 what have we learnt in 20 years of L4 microkernels? . In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). 133--150 . K. Elphinstone and G. Heiser. 2013. From L3 to seL4 what have we learnt in 20 years of L4 microkernels?. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). 133--150."},{"key":"e_1_2_1_13_1","volume-title":"Android: Binder IPC. In Modern Operating Systems (4th. ed.)","author":"Hackborn D. K.","year":"2014","unstructured":"D. K. Hackborn . 2014 . Android: Binder IPC. In Modern Operating Systems (4th. ed.) , A. S. Tanenbaum and H. Bos (Eds.). Pearson , 815--824. D. K. Hackborn. 2014. Android: Binder IPC. In Modern Operating Systems (4th. ed.), A. S. Tanenbaum and H. Bos (Eds.). Pearson, 815--824."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ccnc08.2007.64"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA). 153--163","author":"Li L.","unstructured":"L. Li , T. F. Bissyand\u00e9 , H. Wang , and J. Klein . 2018. CiD: Automating the detection of API-related compatibility issues in Android apps . In Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA). 153--163 . L. Li, T. F. Bissyand\u00e9, H. Wang, and J. Klein. 2018. CiD: Automating the detection of API-related compatibility issues in Android apps. In Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA). 153--163."},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the ACM International Conference on Mining Software Repositories (MSR). 220--230","author":"Mahmoudi M.","unstructured":"M. Mahmoudi and S. Nadi . 2018. The Android update problem: An empirical study . In Proceedings of the ACM International Conference on Mining Software Repositories (MSR). 220--230 . M. Mahmoudi and S. Nadi. 2018. The Android update problem: An empirical study. In Proceedings of the ACM International Conference on Mining Software Repositories (MSR). 220--230."},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the IEEE International Conference on Software Maintenance (ICSM). 70--79","author":"McDonnell T.","unstructured":"T. McDonnell , B. Ray , and M. Kim . 2013. An empirical study of API stability and adoption in the Android ecosystem . In Proceedings of the IEEE International Conference on Software Maintenance (ICSM). 70--79 . T. McDonnell, B. Ray, and M. Kim. 2013. An empirical study of API stability and adoption in the Android ecosystem. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM). 70--79."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1000449"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the ACM Annual Computer Security Applications Conference (ACSAC). 259--268","author":"Mulliner C.","unstructured":"C. Mulliner , J. Oberheide , W. Robertson , and E. Kirda . 2013. PatchDroid: Scalable third-party security patches for Android devices . In Proceedings of the ACM Annual Computer Security Applications Conference (ACSAC). 259--268 . C. Mulliner, J. Oberheide, W. Robertson, and E. Kirda. 2013. PatchDroid: Scalable third-party security patches for Android devices. In Proceedings of the ACM Annual Computer Security Applications Conference (ACSAC). 259--268."},{"key":"e_1_2_1_20_1","volume-title":"Retrieved","author":"Android Open Source AOSP","year":"2019","unstructured":"AOSP ( Android Open Source Project). [n.d.]. Android Compatibility Test Suite (CTS) . Retrieved July 18, 2019 from https:\/\/source.android.com\/compatibility\/cts\/. AOSP (Android Open Source Project). [n.d.]. Android Compatibility Test Suite (CTS). Retrieved July 18, 2019 from https:\/\/source.android.com\/compatibility\/cts\/."},{"key":"e_1_2_1_21_1","volume-title":"Retrieved","author":"Android Open Source AOSP","year":"2019","unstructured":"AOSP ( Android Open Source Project). [n.d.]. Audio Loopback Dongle . Retrieved July 18, 2019 from https:\/\/source.android.com\/devices\/audio\/latency\/loopback. AOSP (Android Open Source Project). [n.d.]. Audio Loopback Dongle. Retrieved July 18, 2019 from https:\/\/source.android.com\/devices\/audio\/latency\/loopback."},{"key":"e_1_2_1_22_1","volume-title":"Retrieved","author":"Android Open Source AOSP","year":"2018","unstructured":"AOSP ( Android Open Source Project). 2018 . Android P Beta Devices . Retrieved July 18, 2019 from https:\/\/web.archive.org\/web\/20180509013311\/https:\/\/developer.android.com\/preview\/devices\/. AOSP (Android Open Source Project). 2018. Android P Beta Devices. Retrieved July 18, 2019 from https:\/\/web.archive.org\/web\/20180509013311\/https:\/\/developer.android.com\/preview\/devices\/."},{"key":"e_1_2_1_23_1","volume-title":"Retrieved","author":"Android Open Source AOSP","year":"2019","unstructured":"AOSP ( Android Open Source Project). 2019 . Android Q Beta Devices . Retrieved July 18, 2019 from https:\/\/developer.android.com\/preview\/devices\/. AOSP (Android Open Source Project). 2019. Android Q Beta Devices. Retrieved July 18, 2019 from https:\/\/developer.android.com\/preview\/devices\/."},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the ACM Conference on Computer and Communications Security (CCS). 623--634","author":"Wu L.","unstructured":"L. Wu , M. Grace , Y. Zhou , C. Wu , and X. Jiang . 2013. The impact of vendor customizations on android security . In Proceedings of the ACM Conference on Computer and Communications Security (CCS). 623--634 . L. Wu, M. Grace, Y. Zhou, C. Wu, and X. Jiang. 2013. The impact of vendor customizations on android security. In Proceedings of the ACM Conference on Computer and Communications Security (CCS). 623--634."},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the IEEE Symposium on Security and Privacy (S8P). 409--423","author":"Zhou X.","unstructured":"X. Zhou , Y. Lee , N. Zhang , M. Naveed , and X. Wang . 2014. The peril of fragmentation: Security hazards in android device driver customizations . In Proceedings of the IEEE Symposium on Security and Privacy (S8P). 409--423 . X. Zhou, Y. Lee, N. Zhang, M. Naveed, and X. Wang. 2014. The peril of fragmentation: Security hazards in android device driver customizations. In Proceedings of the IEEE Symposium on Security and Privacy (S8P). 409--423."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358237","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3358237","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:07Z","timestamp":1750202587000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358237"}},"subtitle":["Fast Software Updates by Creating an Equilibrium in an Active Software Ecosystem of Globally Distributed Stakeholders"],"short-title":[],"issued":{"date-parts":[[2019,10,8]]},"references-count":25,"journal-issue":{"issue":"5s","published-print":{"date-parts":[[2019,10,31]]}},"alternative-id":["10.1145\/3358237"],"URL":"https:\/\/doi.org\/10.1145\/3358237","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,10,8]]},"assertion":[{"value":"2019-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-10-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}