Technical Program

Tuesday, September 11

17:30-18:00 Registration
18:00- Welcome Reception

Wednesday, September 12

09:00-09:30 Registration
09:30-09:45 Opening Session

09:45-10:45 Keynote I
The Beauty and the Beast — from Fortress to Julia
Jan Vitek (Northeastern University)
10:45-11:15 -- Coffee Break --
11:15-12:45 Session I: Program Analysis and Transformation
Run-Time Program-Specific Phase Prediction for Python Programs
Meng-Chieh Chiu, Eliot Moss (University of Massachusetts Amherst)
Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations
David Leopoldseder, Manuel Rigger, Hanspeter Mössenböck (Johannes Kepler University Linz);
Roland Schatz, Lukas Stadler, Thomas Würthinger (Oracle Labs)
Redundancy Elimination in the Presence of Split Class Initialization
Artur Pilipenko (St. Petersburg University); Oleg Pliss (Oracle)
12:45-13:45 -- Lunch --
13:45-15:15 Session II: Performance
Exploiting High-Performance Heterogeneous Hardware for Java Programs using Graal
James Clarkson (Dyson); Juan Fumero, Michalis Papadimitriou, Foivos S. Zakkak, Maria Xekalaki, Christos Kotselidis, Mikel Lujan (The University of Manchester)
A Performance Analysis Methodology for Truffle Hosted Languages
Swapnil Gaikwad, Andy Nisbet, Mikel Lujan (The University of Manchester)
Sparse Matrices on the Web : Characterizing the Performance and Optimal Format Selection of Sparse Matrix-VSector Multiplication in JavaScript and WebAssembly
Prabhjot Sandhu, David Herrera, Laurie Hendren (McGill University)
16:15-18:30 Excursion to the Ars Electronica Center
18:30- Conference Dinner

Thursday, September 13

09:00-11:00 Session I: Work-in-progress and Tools papers
Parallel Trace Register Allocation
Josef Eisl, David Leopoldseder, Hanspeter Mössenböck (Johannes Kepler University Linz)
Alto: Lightweight VMs using Virtualization-aware Managed Runtimes
James Mickens, James Larisch, Eddie Kohler (Harvard University)
Towards a Framework for Stochastic Performance Optimizations in Compilers and Interpreters - An Architecture Overview
Oliver Krauss (Johannes Kepler University Linz)
Specializing Ropes for Ruby
Kevin Menard, Chris Seaton (Oracle); Benoit Daloze (Johannes Kepler University Linz)
Defining a High-Level Programming Model for Emerging NVRAM Technologies
Thomas Shull, Jiang Huang, Josep Torrellas (University of Illinois at Urbana-Champaign)
Debugging Native Extensions of Dynamic Languages
Jacob Kreindl, Manuel Rigger, Hanspeter Mössenböck (Johannes Kepler University Linz)
11:00-11:45 -- Poster Session and Coffee Break --
11:45-12:45 Session II: Debugging
A Blast from the Past: Online Time-Travel Debugging with BITE
Stefan Schulz, Christoph Bockisch (Philipps-Universität Marburg)
Utilizing Object Reference Graphs and Garbage Collection Roots to Detect Memory Leaks in Offline Memory Monitoring
Markus Weninger, Elias Gander, Hanspeter Mössenböck (Johannes Kepler University Linz)
12:45-13:45 -- Lunch --
13:45-15:15 Keynote II
Building a Virtual Machine for the Cloud
Eric Sedlar (VP and Technical Director Oracle Labs)
Session III: Debugging
Efficient Deterministic Record & Replay for Communicating Event Loops
Dominik Aumayr, Hanspeter Mössenböck (Johannes Kepler University Linz); Stefan Marr (University of Kent); Clément Béra, Elisa Gonzalez Boix (Vrije Universiteit Brussel)
15:15-15:45 -- Coffee Break --
15:45-17:15 Session IV: Miscellaneous
Specializing a Meta-Interpreter
Vlad Vergu, Eelco Visser (Delft University of Technology)
GUARDIA: Specification and Enforcement of JS Security Policies Without VM Modifications
Angel Luis Scull Pupo, Jens Nicolay, Elisa Gonzalez Boix (Vrije Universiteit Brussel)
Software Vector Chaining
M. Anton Ertl (Vienna University of Technology)

Keynote Abstracts

The Beauty and the Beast — from Fortress to Julia
Jan Vitek, Northeastern University

Take two languages, Julia and Fortress, designed to solve similar problems with similar mechanisms and compare the approaches that led the one to being adopted and the other to being discontinued. What lessons are there for language designers? Can the designs be reconciled? Can we somehow turn the beast that is into the beauty that could have been? This talk is a snapshot of our investigations into Julia with more open questions than definitive answers. Julia’ design is a pragmatic effort driven by use-cases and user feedback. In contrast, Fortress followed a principled, formally grounded, approach that aimed for type soundness. We will marvel at the efficacy of Julia's compiler — a one-trick pony that works surprisingly well in practice. We will inspect the multi-dispatch feature of Julia and puzzle at the subtype relation that is at its heart. The takeaway of the talk is a list of language features that are key to performance and usability. The talk is based on papers to appear at OOPSLA’18.

Jan Vitek loves to engineer software, sometimes teaches software engineering, often hacks single-file LaTeX documents, always complains about Git, never uses Coq, and is partly to blame for the artifact evaluation process used in many SIGPLAN conferences. He has an office at Northeastern University.

Building a Virtual Machine for the Cloud
Eric Sedlar, VP and Technical Director Oracle Labs

A cloud deployment consists of many separate components, such as load balancers, object stores, application servers and databases, and a single application depends on many such components together. Managing, debugging, and optimizing across all of those components is a challenge. GraalVM is a new technology from Oracle Labs that is both embeddable and multilingual, and can help improve that state of affairs. GraalVM has been embedded in multiple databases, a load balancer, with at least one known project to embed in an object store, as well as running in application runtimes like the Java HotSpot VM. If the same execution engine is embedded across all of those cloud components, cloud-level optimizations such as automatically moving code between components (across the network) becomes possible, and a unified VM and development environment for the cloud becomes possible.

Eric Sedlar is Vice President and Technical Director of Oracle Labs. This position entails figuring out how to transfer research results from Labs research into Oracle products and services, as well as setting overall technical direction for new research projects in Oracle Labs. Eric manages over 160 fulltime researchers working on over a dozen separate research areas.

Back To Top