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...
Gespeichert in:
Veröffentlicht in: | ACM transactions on embedded computing systems 2022-10, Vol.22 (1), p.1-19, Article 4 |
---|---|
Hauptverfasser: | , , |
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 |