{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,11]],"date-time":"2026-02-11T17:16:46Z","timestamp":1770830206359,"version":"3.50.1"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2019,8,13]],"date-time":"2019-08-13T00:00:00Z","timestamp":1565654400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Intel Corporation, and Delta Electronics"},{"DOI":"10.13039\/501100006477","name":"National Taiwan University","doi-asserted-by":"crossref","award":["NTU-105R104045"],"award-info":[{"award-number":["NTU-105R104045"]}],"id":[{"id":"10.13039\/501100006477","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100004663","name":"Ministry of Science and Technology of Taiwan","doi-asserted-by":"crossref","award":["MOST 105-2633-E-002-001"],"award-info":[{"award-number":["MOST 105-2633-E-002-001"]}],"id":[{"id":"10.13039\/501100004663","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Sen. Netw."],"published-print":{"date-parts":[[2019,8,31]]},"abstract":"<jats:p>Many virtual machines exist for sensor nodes with only a few kB\u00a0 RAM and tens- to a few hundred kB Flash memory. They pack an impressive set of features but suffer from a slowdown of one to two orders of magnitude compared to optimised native code, reducing throughput and increasing power consumption.<\/jats:p>\n          <jats:p>Compiling bytecode to native code to improve performance has been studied extensively for larger devices, but the restricted resources on sensor nodes mean most modern techniques cannot be applied. Simply replacing bytecode instructions with predefined sequences of native instructions is known to improve performance but produces code several times larger than the optimised C equivalent, limiting the size of programmes that can fit onto a device.<\/jats:p>\n          <jats:p>This article identifies the major sources of overhead resulting from this basic approach and presents optimisations to remove most of the remaining performance overhead, and over half the size overhead, reducing them to 67% and 77%, respectively. While this increases the size of the VM, the break-even point at which this fixed cost is compensated for by the smaller code it generates, is well within the range of memory available on a sensor device, allowing us to both improve performance and load more code on a device.<\/jats:p>","DOI":"10.1145\/3341170","type":"journal-article","created":{"date-parts":[[2019,8,13]],"date-time":"2019-08-13T14:41:50Z","timestamp":1565707310000},"page":"1-44","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Improved Ahead-of-time Compilation of Stack-based JVM\u00a0Bytecode on Resource-constrained Devices"],"prefix":"10.1145","volume":"15","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5077-2437","authenticated-orcid":false,"given":"Niels","family":"Reijers","sequence":"first","affiliation":[{"name":"NTU-IoX Research Center, Taipei, Taiwan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8936-8255","authenticated-orcid":false,"given":"Chi-Sheng","family":"Shih","sequence":"additional","affiliation":[{"name":"NTU-IoX Research Center, Taipei, Taiwan"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,8,13]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320418"},{"key":"e_1_2_1_2_1","volume-title":"Retrieved","year":"2015","unstructured":"Anon. 2015 . Heap sort at Rosetta Code . Retrieved October 24, 2017 from https:\/\/rosettacode.org\/mw\/index.php?title&equals;Sorting_algorithms\/Heapsort8oldid&equals;214878. Anon. 2015. Heap sort at Rosetta Code. Retrieved October 24, 2017 from https:\/\/rosettacode.org\/mw\/index.php?title&equals;Sorting_algorithms\/Heapsort8oldid&equals;214878."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1460412.1460472"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176887.1176904"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644056"},{"key":"e_1_2_1_7_1","unstructured":"Chipcon. 2004. 2.4 GHz IEEE 802.15.4 \/ ZigBee-ready RF Transceiver datasheet. http:\/\/www.ti.com\/lit\/ds\/symlink\/cc2420.pdf.  Chipcon. 2004. 2.4 GHz IEEE 802.15.4 \/ ZigBee-ready RF Transceiver datasheet. http:\/\/www.ti.com\/lit\/ds\/symlink\/cc2420.pdf."},{"key":"e_1_2_1_8_1","volume-title":"Retrieved","author":"The Embedded Microprocessor Benchmark Consortium","year":"2017","unstructured":"The Embedded Microprocessor Benchmark Consortium . 2017 . CoreMark 1.0 . Retrieved October 24, 2017 from http:\/\/www.eembc.org\/coremark. The Embedded Microprocessor Benchmark Consortium. 2017. CoreMark 1.0. Retrieved October 24, 2017 from http:\/\/www.eembc.org\/coremark."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1698772.1698779"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/SENSORCOMM.2010.28"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/207110.207165"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134760.1134780"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"key":"e_1_2_1_16_1","unstructured":"James Gosling et al. 2015. The Java Language Specification Java SE 8 Edition.   James Gosling et al. 2015. The Java Language Specification Java SE 8 Edition."},{"key":"e_1_2_1_17_1","volume-title":"Retrieved","author":"Harbaum Till","year":"2006","unstructured":"Till Harbaum . 2006 . NanoVM . Retrieved October 24, 2017 from http:\/\/harbaum.org\/till\/nanovm\/index.shtml. Till Harbaum. 2006. NanoVM. Retrieved October 24, 2017 from http:\/\/harbaum.org\/till\/nanovm\/index.shtml."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2994551.2994554"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.1123"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644121"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the IEEE\/ACM International Symposium on Microarchitecture (MICRO\u201996)","author":"Hsieh Cheng-Hsueh A.","unstructured":"Cheng-Hsueh A. Hsieh , John C. Gyllenhaal , and Wen-mei W. Hwu . 1996. Java bytecode to native code translation: The caffeine prototype and preliminary results . In Proceedings of the IEEE\/ACM International Symposium on Microarchitecture (MICRO\u201996) . Cheng-Hsueh A. Hsieh, John C. Gyllenhaal, and Wen-mei W. Hwu. 1996. Java bytecode to native code translation: The caffeine prototype and preliminary results. In Proceedings of the IEEE\/ACM International Symposium on Microarchitecture (MICRO\u201996)."},{"key":"e_1_2_1_22_1","article-title":"The implementation of Lua 5.0","volume":"11","author":"Ierusalimschy Roberto","year":"2005","unstructured":"Roberto Ierusalimschy , Luiz Henrique de Figueiredo , and Waldemar Celes . 2005 . The implementation of Lua 5.0 . J. Univ. Comput. Sci. 11 , 7 (2005). Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes. 2005. The implementation of Lua 5.0. J. Univ. Comput. Sci. 11, 7 (2005).","journal-title":"J. Univ. Comput. Sci."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098945"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/522344.825703"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236404"},{"key":"e_1_2_1_26_1","first-page":"1","article-title":"Throughput and delay analysis of unslotted IEEE 802.15.4","volume":"1","author":"Latr\u00e9 Beno\u00eet","year":"2006","unstructured":"Beno\u00eet Latr\u00e9 , Pieter De Mil , Ingrid Moerman , Bart Dhoedt , Piet Demeester , and Niek Van Dierdonck . 2006 . Throughput and delay analysis of unslotted IEEE 802.15.4 . J. Netw. 1 , 1 (May 2006), 20--28. Beno\u00eet Latr\u00e9, Pieter De Mil, Ingrid Moerman, Bart Dhoedt, Piet Demeester, and Niek Van Dierdonck. 2006. Throughput and delay analysis of unslotted IEEE 802.15.4. J. Netw. 1, 1 (May 2006), 20--28.","journal-title":"J. Netw."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605407"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201905)","author":"Levis Philip","year":"2005","unstructured":"Philip Levis , David Gay , and David Culler . 2005 . Active sensor networks . In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201905) . Philip Levis, David Gay, and David Culler. 2005. Active sensor networks. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201905)."},{"key":"e_1_2_1_29_1","volume-title":"Retrieved","author":"Team","year":"2017","unstructured":"Team libtom. 2017 . LibTomCrypt . Retrieved October 24, 2017 from http:\/\/www.libtom.net\/LibTomCrypt. Team libtom. 2017. LibTomCrypt. Retrieved October 24, 2017 from http:\/\/www.libtom.net\/LibTomCrypt."},{"key":"e_1_2_1_30_1","doi-asserted-by":"crossref","unstructured":"Konrad Lorincz and Matt Welsh. 2006. MoteTrack: A Robust Decentralized Approach to RF-Based Location Tracking. Retrieved from http:\/\/www.eecs.harvard.edu\/ konrad\/projects\/motetrack.  Konrad Lorincz and Matt Welsh. 2006. MoteTrack: A Robust Decentralized Approach to RF-Based Location Tracking. Retrieved from http:\/\/www.eecs.harvard.edu\/ konrad\/projects\/motetrack.","DOI":"10.1007\/11426646_7"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00779-006-0095-2"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644057"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/bxp035"},{"key":"e_1_2_1_34_1","unstructured":"Microchip Technology. 2011. 8-bit Atmel Microcontroller with 128KBytes In-System Programmable Flash ATmega128\/ATmega128L datasheet. http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/doc2467.pdf.  Microchip Technology. 2011. 8-bit Atmel Microcontroller with 128KBytes In-System Programmable Flash ATmega128\/ATmega128L datasheet. http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/doc2467.pdf."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1272996.1273013"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the Conference on Object-Oriented Technologies and Systems (COOTS\u201997)","author":"Gilles","unstructured":"Gilles Muller et al. 1997. Harissa: A flexible and efficient java environment mixing bytecode and compiled code . In Proceedings of the Conference on Object-Oriented Technologies and Systems (COOTS\u201997) . Gilles Muller et al. 1997. Harissa: A flexible and efficient java environment mixing bytecode and compiled code. In Proceedings of the Conference on Object-Oriented Technologies and Systems (COOTS\u201997)."},{"key":"e_1_2_1_37_1","volume-title":"Retrieved","year":"2005","unstructured":"Oracle. 2005 . Connected Limited Device Configuration . Retrieved October 24, 2017 from http:\/\/www.oracle.com\/technetwork\/java\/cldc-141990.html. Oracle. 2005. Connected Limited Device Configuration. Retrieved October 24, 2017 from http:\/\/www.oracle.com\/technetwork\/java\/cldc-141990.html."},{"key":"e_1_2_1_38_1","unstructured":"PhysioNet. 2018. PTB Diagnostic ECG Database ptbdb. First 256 samples from the following dataset. Database: PTB Diagnostic ECG Database ptbdb Record: patient001 s0010 re Signals: i Length: 10s Time format: samples Data format: raw ADC units. Retrieved from https:\/\/www.physionet.org\/cgi-bin\/atm\/ATM.  PhysioNet. 2018. PTB Diagnostic ECG Database ptbdb. First 256 samples from the following dataset. Database: PTB Diagnostic ECG Database ptbdb Record: patient001 s0010 re Signals: i Length: 10s Time format: samples Data format: raw ADC units. Retrieved from https:\/\/www.physionet.org\/cgi-bin\/atm\/ATM."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064979.1065001"},{"key":"e_1_2_1_40_1","volume-title":"Retrieved","author":"Square Guard","year":"2016","unstructured":"Guard Square . 2016 . ProGuard 5.3.2 . Retrieved Oct 24, 2017 from https:\/\/sourceforge.net\/projects\/proguard\/. Guard Square. 2016. ProGuard 5.3.2. Retrieved Oct 24, 2017 from https:\/\/sourceforge.net\/projects\/proguard\/."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/1147685.1147768"},{"key":"e_1_2_1_42_1","unstructured":"UCLA Networked 8 Embedded Systems Laboratory. 2009. SOS operating system. Retrieved from https:\/\/github.com\/nesl\/sos-2x.  UCLA Networked 8 Embedded Systems Laboratory. 2009. SOS operating system. Retrieved from https:\/\/github.com\/nesl\/sos-2x."},{"key":"e_1_2_1_43_1","volume-title":"XXTEA: Correction to XTEA. Technical Report. Computer Laboratory","author":"Wheeler David","year":"1998","unstructured":"David Wheeler and Roger Needham . 1998 . XXTEA: Correction to XTEA. Technical Report. Computer Laboratory , University of Cambridge . David Wheeler and Roger Needham. 1998. XXTEA: Correction to XTEA. Technical Report. Computer Laboratory, University of Cambridge."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.adhoc.2007.11.006"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2365864.2151035"}],"container-title":["ACM Transactions on Sensor Networks"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3341170","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3341170","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:13:15Z","timestamp":1750201995000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3341170"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,8,13]]},"references-count":42,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2019,8,31]]}},"alternative-id":["10.1145\/3341170"],"URL":"https:\/\/doi.org\/10.1145\/3341170","relation":{},"ISSN":["1550-4859","1550-4867"],"issn-type":[{"value":"1550-4859","type":"print"},{"value":"1550-4867","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,8,13]]},"assertion":[{"value":"2017-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-08-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}