Modern language runtimes are complex, dynamic environments that involve a myriad of components that must work cooperatively to achieve optimal functional and performance requirements of a given programming language. Typical core runtime technologies include dynamic just-in-time compilers for performance and hardware exploitation, garbage collectors for object management, platform abstraction interfaces for ease of portability to different hardware and operating systems, developer tooling for diagnosis, tuning, and enabling interoperability between different language environments.

Many high-quality runtime technology frameworks that support programming language environments are open-source projects, such as LLVM, Eclipse OMR, and GraalVM to name a few. These projects thrive with vibrant and growing communities of developers and researchers. Building projects with open-source components enables greater collaboration among a variety of communities through shared learning on common technologies.

The goal of this workshop is to bring together academia and industry communities to share their innovative research into and implementation experiences with core runtime technologies in open-source frameworks. We also strive to highlight creative applications of such frameworks, addressing challenges facing the use of programming languages in emerging environments such as the cloud (e.g., compilation-as-a-service, binary re-translation, and polyglot interoperability) or on newer hardware devices such as GPUs and FPGAs.

Call for Talks

We invite submissions in the form of abstracts for talks on using open source runtime components to develop, innovate, or explore practical and research topics in the following areas:

  • Runtime technology frameworks such as Eclipse OMR, LLVM, and OpenJDK.

  • Compilers and just-in-time compilation.  This includes talks on innovative solutions for performing compilation using open source compiler frameworks or leveraging the compilation technology in new ways.  For example, ahead-of-time compilation, building compilers for existing language runtimes, static analysis tools, polyglot method interoperability, dynamic language optimizations, binary translation, compilation-as-a-service for cloud environments, etc.

  • Interpreters and virtual machines

  • Garbage collection (GC) and memory management including innovative ways of leveraging modern CPU features to improve GC, strategies and techniques for efficiently collecting large heaps and reducing pause times, and efficiently organizing objects in a heap.

  • Experiences integrating components from runtime technology frameworks (e.g., compilers, garbage collectors) into existing language environments (e.g., Python, Lua, WebAssembly, etc.)

  • Testing methodologies for runtimes.  This includes talks addressing challenges and solutions for functional and performance testing of runtime technologies.

  • Tools for building, testing, profiling, or analyzing performance.

The minimum requirement for a submission is a short abstract that describes your talk, approximately 2-4 paragraphs and 500 words. However, you may provide as much detail above and beyond those limits as you wish.

Deadline for submissions is May 20, 2019.  Authors of accepted talks will be notified by June 3, 2019.