WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android

Open source hardware such as RISC-V has been gaining substantial momentum. Recently, they have begun to embrace Google’s Android operating system to leverage its software ecosystem. Despite the encouraging progress, a challenging issue arises: a majority of Android applications are written in native...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on embedded computing systems 2022-10, Vol.22 (1), p.1-19, Article 4
Hauptverfasser: Wen, Elliott, Weber, Gerald, Nanayakkara, Suranga
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 19
container_issue 1
container_start_page 1
container_title ACM transactions on embedded computing systems
container_volume 22
creator Wen, Elliott
Weber, Gerald
Nanayakkara, Suranga
description Open source hardware such as RISC-V has been gaining substantial momentum. Recently, they have begun to embrace Google’s Android operating system to leverage its software ecosystem. Despite the encouraging progress, a challenging issue arises: a majority of Android applications are written in native languages and need to be recompiled to target new hardware platforms. Unfortunately, this recompilation process is not scalable because of the explosion of new hardware platforms. To address this issue, we present WasmAndroid, a high-performance cross-platform runtime for native Android applications. With WasmAndroid, developers can compile their source code to WebAssembly, an efficient and portable bytecode format that can be executed everywhere without additional reconfiguration. Developers can also transpile existing application binaries to WebAssembly when source code is not available. WebAssembly’s language model is very different from other common languages. This mismatch leads to many unique implementation challenges. In this article, we provide workable solutions and conduct a thorough system evaluation. We show that WasmAndroid provides acceptable performance to execute native applications in a cross-platform manner.
doi_str_mv 10.1145/3530286
format Article
fullrecord <record><control><sourceid>acm_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3530286</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>3530286</sourcerecordid><originalsourceid>FETCH-LOGICAL-a206t-c78dae332dd3d3c96111ac335eaa21530543b5df8f7b7b9b77ea2d191c1370673</originalsourceid><addsrcrecordid>eNo9kM1LxDAUxIMouK7i3VNunqJJX9O03krxC4quongsr0laKptWkq7gf2_LVk_zhvdjGIaQc8GvhIjlNUjgUZockJWQMmUQJ_JwviFjGU_VMTkJ4ZNzoaJYrsjLBwaX98YPnbmhOS38EALbbHFsBu_o664fO2fpZOgTjt23pRs_tB6d6_qWlti3O2xtoENPl5RTctTgNtizRdfk_e72rXhg5fP9Y5GXDCOejEyr1KAFiIwBAzpLhBCoAaRFjKa2XMZQS9OkjapVndVKWYyMyIQWoHiiYE0u97l6ruxtU335zqH_qQSv5iWqZYmJvNiTqN0_9Pf8BT19V_4</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android</title><source>ACM Digital Library</source><creator>Wen, Elliott ; Weber, Gerald ; Nanayakkara, Suranga</creator><creatorcontrib>Wen, Elliott ; Weber, Gerald ; Nanayakkara, Suranga</creatorcontrib><description>Open source hardware such as RISC-V has been gaining substantial momentum. Recently, they have begun to embrace Google’s Android operating system to leverage its software ecosystem. Despite the encouraging progress, a challenging issue arises: a majority of Android applications are written in native languages and need to be recompiled to target new hardware platforms. Unfortunately, this recompilation process is not scalable because of the explosion of new hardware platforms. To address this issue, we present WasmAndroid, a high-performance cross-platform runtime for native Android applications. With WasmAndroid, developers can compile their source code to WebAssembly, an efficient and portable bytecode format that can be executed everywhere without additional reconfiguration. Developers can also transpile existing application binaries to WebAssembly when source code is not available. WebAssembly’s language model is very different from other common languages. This mismatch leads to many unique implementation challenges. In this article, we provide workable solutions and conduct a thorough system evaluation. We show that WasmAndroid provides acceptable performance to execute native applications in a cross-platform manner.</description><identifier>ISSN: 1539-9087</identifier><identifier>EISSN: 1558-3465</identifier><identifier>DOI: 10.1145/3530286</identifier><language>eng</language><publisher>New York, NY: ACM</publisher><subject>Computer systems organization ; Embedded software</subject><ispartof>ACM transactions on embedded computing systems, 2022-10, Vol.22 (1), p.1-19, Article 4</ispartof><rights>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</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-a206t-c78dae332dd3d3c96111ac335eaa21530543b5df8f7b7b9b77ea2d191c1370673</cites><orcidid>0000-0002-1221-8045 ; 0000-0001-7441-5493 ; 0000-0002-0340-9392</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://dl.acm.org/doi/pdf/10.1145/3530286$$EPDF$$P50$$Gacm$$H</linktopdf><link.rule.ids>314,776,780,2276,27901,27902,40172,75970</link.rule.ids></links><search><creatorcontrib>Wen, Elliott</creatorcontrib><creatorcontrib>Weber, Gerald</creatorcontrib><creatorcontrib>Nanayakkara, Suranga</creatorcontrib><title>WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android</title><title>ACM transactions on embedded computing systems</title><addtitle>ACM TECS</addtitle><description>Open source hardware such as RISC-V has been gaining substantial momentum. Recently, they have begun to embrace Google’s Android operating system to leverage its software ecosystem. Despite the encouraging progress, a challenging issue arises: a majority of Android applications are written in native languages and need to be recompiled to target new hardware platforms. Unfortunately, this recompilation process is not scalable because of the explosion of new hardware platforms. To address this issue, we present WasmAndroid, a high-performance cross-platform runtime for native Android applications. With WasmAndroid, developers can compile their source code to WebAssembly, an efficient and portable bytecode format that can be executed everywhere without additional reconfiguration. Developers can also transpile existing application binaries to WebAssembly when source code is not available. WebAssembly’s language model is very different from other common languages. This mismatch leads to many unique implementation challenges. In this article, we provide workable solutions and conduct a thorough system evaluation. We show that WasmAndroid provides acceptable performance to execute native applications in a cross-platform manner.</description><subject>Computer systems organization</subject><subject>Embedded software</subject><issn>1539-9087</issn><issn>1558-3465</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><recordid>eNo9kM1LxDAUxIMouK7i3VNunqJJX9O03krxC4quongsr0laKptWkq7gf2_LVk_zhvdjGIaQc8GvhIjlNUjgUZockJWQMmUQJ_JwviFjGU_VMTkJ4ZNzoaJYrsjLBwaX98YPnbmhOS38EALbbHFsBu_o664fO2fpZOgTjt23pRs_tB6d6_qWlti3O2xtoENPl5RTctTgNtizRdfk_e72rXhg5fP9Y5GXDCOejEyr1KAFiIwBAzpLhBCoAaRFjKa2XMZQS9OkjapVndVKWYyMyIQWoHiiYE0u97l6ruxtU335zqH_qQSv5iWqZYmJvNiTqN0_9Pf8BT19V_4</recordid><startdate>20221029</startdate><enddate>20221029</enddate><creator>Wen, Elliott</creator><creator>Weber, Gerald</creator><creator>Nanayakkara, Suranga</creator><general>ACM</general><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-1221-8045</orcidid><orcidid>https://orcid.org/0000-0001-7441-5493</orcidid><orcidid>https://orcid.org/0000-0002-0340-9392</orcidid></search><sort><creationdate>20221029</creationdate><title>WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android</title><author>Wen, Elliott ; Weber, Gerald ; Nanayakkara, Suranga</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a206t-c78dae332dd3d3c96111ac335eaa21530543b5df8f7b7b9b77ea2d191c1370673</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Computer systems organization</topic><topic>Embedded software</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Wen, Elliott</creatorcontrib><creatorcontrib>Weber, Gerald</creatorcontrib><creatorcontrib>Nanayakkara, Suranga</creatorcontrib><collection>CrossRef</collection><jtitle>ACM transactions on embedded computing systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Wen, Elliott</au><au>Weber, Gerald</au><au>Nanayakkara, Suranga</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android</atitle><jtitle>ACM transactions on embedded computing systems</jtitle><stitle>ACM TECS</stitle><date>2022-10-29</date><risdate>2022</risdate><volume>22</volume><issue>1</issue><spage>1</spage><epage>19</epage><pages>1-19</pages><artnum>4</artnum><issn>1539-9087</issn><eissn>1558-3465</eissn><abstract>Open source hardware such as RISC-V has been gaining substantial momentum. Recently, they have begun to embrace Google’s Android operating system to leverage its software ecosystem. Despite the encouraging progress, a challenging issue arises: a majority of Android applications are written in native languages and need to be recompiled to target new hardware platforms. Unfortunately, this recompilation process is not scalable because of the explosion of new hardware platforms. To address this issue, we present WasmAndroid, a high-performance cross-platform runtime for native Android applications. With WasmAndroid, developers can compile their source code to WebAssembly, an efficient and portable bytecode format that can be executed everywhere without additional reconfiguration. Developers can also transpile existing application binaries to WebAssembly when source code is not available. WebAssembly’s language model is very different from other common languages. This mismatch leads to many unique implementation challenges. In this article, we provide workable solutions and conduct a thorough system evaluation. We show that WasmAndroid provides acceptable performance to execute native applications in a cross-platform manner.</abstract><cop>New York, NY</cop><pub>ACM</pub><doi>10.1145/3530286</doi><tpages>19</tpages><orcidid>https://orcid.org/0000-0002-1221-8045</orcidid><orcidid>https://orcid.org/0000-0001-7441-5493</orcidid><orcidid>https://orcid.org/0000-0002-0340-9392</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 1539-9087
ispartof ACM transactions on embedded computing systems, 2022-10, Vol.22 (1), p.1-19, Article 4
issn 1539-9087
1558-3465
language eng
recordid cdi_crossref_primary_10_1145_3530286
source ACM Digital Library
subjects Computer systems organization
Embedded software
title WasmAndroid: A Cross-Platform Runtime for Native Programming Languages on Android
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-11T22%3A33%3A52IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=WasmAndroid:%20A%20Cross-Platform%20Runtime%20for%20Native%20Programming%20Languages%20on%20Android&rft.jtitle=ACM%20transactions%20on%20embedded%20computing%20systems&rft.au=Wen,%20Elliott&rft.date=2022-10-29&rft.volume=22&rft.issue=1&rft.spage=1&rft.epage=19&rft.pages=1-19&rft.artnum=4&rft.issn=1539-9087&rft.eissn=1558-3465&rft_id=info:doi/10.1145/3530286&rft_dat=%3Cacm_cross%3E3530286%3C/acm_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true