Bypassing portability pitfalls of high-level low-level programming

  • Authors:
  • Yi Lin;Stephen M. Blackburn

  • Affiliations:
  • Australian National University, Canberra, Australia;Australian National University, Canberra, Australia

  • Venue:
  • Proceedings of the sixth ACM workshop on Virtual machines and intermediate languages
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.