TY - GEN
T1 - Bypassing portability pitfalls of high-level low-level programming
AU - Lin, Yi
AU - Blackburn, Stephen M.
PY - 2012
Y1 - 2012
N2 - Program portability is an important software engineering consideration. However, when high-level languages are extended to effectively implement system projects for software engineering gain and safety, portability is compromised- high-level code for low-level programming cannot execute on a stock runtime, and, conversely, a runtime with special support implemented will not be portable across different platforms. We explore the portability pitfall of high-level low-level programming in the context of virtual machine implementation tasks. Our approach is designing a restricted high-level language called RJava, with a flexible restriction model and effective low-level extensions, which is suitable for different scopes of virtual machine implementation, and also suitable for a low-level language bypass for improved portability. Apart from designing such a language, another major outcome from this work is clearing up and sharpening the philosophy around language restriction in virtual machine design. In combination, our approach to solving portability pitfalls with RJava favors virtual machine design and implementation in terms of portability and robustness.
AB - Program portability is an important software engineering consideration. However, when high-level languages are extended to effectively implement system projects for software engineering gain and safety, portability is compromised- high-level code for low-level programming cannot execute on a stock runtime, and, conversely, a runtime with special support implemented will not be portable across different platforms. We explore the portability pitfall of high-level low-level programming in the context of virtual machine implementation tasks. Our approach is designing a restricted high-level language called RJava, with a flexible restriction model and effective low-level extensions, which is suitable for different scopes of virtual machine implementation, and also suitable for a low-level language bypass for improved portability. Apart from designing such a language, another major outcome from this work is clearing up and sharpening the philosophy around language restriction in virtual machine design. In combination, our approach to solving portability pitfalls with RJava favors virtual machine design and implementation in terms of portability and robustness.
KW - High-level lowlevel programming
KW - Portability
KW - Restricted language
KW - Virtual machine
UR - http://www.scopus.com/inward/record.url?scp=84872109462&partnerID=8YFLogxK
U2 - 10.1145/2414740.2414746
DO - 10.1145/2414740.2414746
M3 - Conference contribution
SN - 9781450316330
T3 - SPLASH 2012: VMIL 2012 - Proceedings of the 2012 ACM Workshop on Virtual Machines and Intermediate Languages
SP - 23
EP - 32
BT - SPLASH 2012
T2 - 2012 6th ACM Workshop on Virtual Machines and Intermediate Languages, VMIL 2012
Y2 - 21 October 2012 through 21 October 2012
ER -