Wed 17 Jul 2019 18:00 - 19:30 at Mancy - Poster session

One of the main challenges in JIT compilation arises from the fact that the time spent in compilation, which includes program-analysis time, gets added to the execution-time of the program. Hence, it is important that the time spent in JIT compilation is not prohibitively high. Consequently, typical JIT compilers in popular virtual machines (such as the HotSpot JVM and the Eclipse OpenJ9) perform imprecise analyses and end-up sacrificing precision for efficiency. An alternative to performing imprecise analyses during JIT compilation is to perform expensive whole-program analyses during static compilation, and use the results during JIT compilation. However, the runtime libraries (such as the JDK) on the machine where the program is executed may differ from those available statically on the machine where the program is compiled. As a result, though this alternative does not impact the JIT compilation time much, the static analyses have to handle calls to library methods in a conservative manner, which may again lead to imprecision. Thus, both the practical alternatives – (i) whole-program analysis at compile-time and (ii) fast analysis during JIT compilation – may lead to imprecise results.

In our recent paper (accepted for publication in ACM TOPLAS; preprint available at: http://www.cse.iitm.ac.in/~krishna/preprints/toplas19/toplas19.pdf), we propose a two-stage analysis framework called PYE (Precise-Yet-Efficient) for analyzing programs written in languages with a static+JIT mode of compilation. The PYE framework relies on a novel notion of conditional values, which denote dependencies on the unavailable portions of the program being analyzed (for example, the library while analyzing the application). PYE analyzes an application using two inter-related components: the partial-analyzer (added to the static Java compiler), and the fast-precise-analyzer (added to the C2 compiler of the HotSpot JVM). The partial-analyzer statically generates partial summaries (consisting of conditional values) for the methods of a program, which are then sent to the machine on which the program is to be executed. During JIT compilation, the fast-precise-analyzer reads the application and library partial summaries, resolves the dependencies between the two, and generates final analysis results.

We have instantiated PYE for performing two non-trivial analyses: points-to analysis for null-check elimination and escape analysis for synchronization elimination, and evaluated the instantiations by comparing them with the existing analyzers of C2. The results assert that PYE effectively addresses the three challenges that can be envisaged in such a multi-step analysis framework: (i) It handles the possible imprecision arising out of the unavailable parts of a program while performing precise whole-program analyses. (ii) It makes sure that the generated partial summaries are succinct and do not lead to significant storage overhead. (iii) It loads and resolves the partial summaries efficiently without increasing the time spent during JIT compilation.

There are, however, more challenges to solve, for bringing the proposed approach into practice. Two such important associated requirements are: (i) the results generated by the partial-analyzer be transferred to the target machine along with the class files; and (ii) the results be verified at the target machine before using them to perform optimizations. In this talk, we first describe the PYE framework and its instantiations with brief results of the same. We then discuss some initial directions to explore the solutions to the above challenges. We propose to solve these challenges in a modular manner, in the context of the Eclipse OpenJ9 virtual machine.

Wed 17 Jul

Displayed time zone: Belfast change

18:00 - 19:30
Poster sessionPosters at Mancy
18:00
90m
Poster
MagpieBridge: A General Approach to Integrating Static Analyses into IDEs and EditorsECOOP posterDemonstration
Posters
Linghui Luo Paderborn University, Julian Dolby IBM Research, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
File Attached
18:00
90m
Poster
A Parallel Spreadsheet Interpreter With Cycle Detection
Posters
Alexander Asp Bock IT University of Copenhagen
18:00
90m
Poster
Specifying I/O using Abstract Nested Hoare Triples in Separation LogicFTfJP posterDemonstration
Posters
Willem Penninckx KU Leuven, Amin Timany imec-Distrinet KU-Leuven, Bart Jacobs KU Leuven
18:00
90m
Poster
Reliable State Machines: A Framework for Programming Reliable Cloud ServicesECOOP posterDemonstration
Posters
Suvam Mukherjee Indian Institute of Science, Nitin John Raj International Institute of Information Technology, Hyderabad, Krishnan Govindraj Microsoft Research, Pantazis Deligiannis Microsoft Research, Chandramouleswaran Ravichandran Microsoft Azure, Akash Lal Microsoft Research India, Aseem Rastogi Microsoft Research, Raja Krishnaswamy Microsoft Azure
18:00
90m
Poster
RML: Runtime Monitoring LanguageVORTEX poster
Posters
Luca Franceschini DIBRIS, University of Genova, Italy
File Attached
18:00
90m
Poster
Precise, Efficient and Secure Just-In-Time Analysis of Java ProgramsAORTA poster
Posters
Manas Thakur IIT Madras, V Krishna Nandivada IIT Madras
18:00
90m
Poster
Fling---A Fluent API GeneratorECOOP poster
Posters
Yossi Gil Technion—Israel Institute of Technology, Ori Roth Technion
File Attached
18:00
90m
Poster
TornadoVM: Dynamic Optimisation of Heterogeneous Java AccelerationAORTA posterDemonstration
Posters
Juan Fumero University of Manchester, UK, Michail Papadimitriou University of Manchester, UK, Christos Kotselidis University of Manchester, UK
File Attached
18:00
90m
Poster
Static Analysis for Asynchronous JavaScript ProgramsECOOP poster
Posters
Thodoris Sotiropoulos Athens University of Economics and Business, Benjamin Livshits Imperial College London, UK
18:00
90m
Poster
To Async or Not to Async: Better Cooperative Multithreading is the Answer
Posters
18:00
90m
Poster
TinyCORP: A Calculus for Context-Oriented Reactive ProgrammingCOP poster
Posters
Tetsuo Kamina Oita University, Tomoyuki Aotani Tokyo Institute of Technology
18:00
90m
Poster
Semantic Patches for Java Program TransformationECOOP posterDemonstration
Posters
Hong Jin Kang School of Information Systems, Singapore Management University, Ferdian Thung , Julia Lawall Inria/LIP6, Gilles Muller LIP6-INRIA/UPMC, Lingxiao Jiang Singapore Management University, David Lo Singapore Management University
18:00
90m
Poster
Static Analysis in Real-World Operational ScenariosDoctoral Symposium posterDemonstration
Posters
Philipp Dominik Schubert Heinz Nixdorf Institut, Paderborn University
File Attached
18:00
90m
Poster
IIFA: Modular Inter-app Intent Information Flow Analysis of Android Applications
Posters
Abhishek Tiwari University of Potsdam, Sascha Groß University of Potsdam, Christian Hammer University of Potsdam
File Attached
18:00
90m
Poster
Towards Language-Parametric Semantic Editor ServicesECOOP posterDemonstration
Posters
Daniel A. A. Pelsmaeker Delft University of Technology, Netherlands, Hendrik van Antwerpen TU Delft, Eelco Visser Delft University of Technology
18:00
90m
Poster
Type-Safe Data Plane Programming with SafeP4ECOOP poster
Posters
Matthias Eichholz , Eric Campbell Cornell University, Nate Foster Cornell University, Guido Salvaneschi TU Darmstadt, Mira Mezini TU Darmstadt, Germany
18:00
90m
Poster
Create your own Interpreter with a JITAORTA poster
Posters
Igor Braga IBM Canada
File Attached
18:00
90m
Poster
Lifting the Burden of Static Analysis Tool Configuration with Rule Graphs
Posters
Lisa Nguyen Quang Do Paderborn University, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
File Attached
18:00
90m
Poster
NumLin: Linear Types for Linear AlgebraECOOP posterDemonstration
Posters
Dhruv Makwana Unaffiliated, Neel Krishnaswami Computer Laboratory, University of Cambridge
File Attached
18:00
90m
Poster
Towards Resilience Testing of Actor Programs through Test PerturbationsScala poster
Posters
Jonas De Bleser Sofware Languages Lab, Vrije Universiteit Brussel, Coen De Roover Vrije Universiteit Brussel
18:00
90m
Poster
JIT as a Service: Compilation Paradigm for the CloudAORTA poster
Posters
Xiaoli Liang IBM Canada, Daryl Maier IBM Canada
18:00
90m
Poster
Transferring Obligations Through SynchronizationsECOOP posterDemonstration
Posters
Jafar Hamin imec-DistriNet, Depatrmant of Computer Science, KU Leuven, Belgium, Bart Jacobs Radboud University Nijmegen
18:00
90m
Poster
Automated Large-scale Multi-language Dynamic Program Analysis in the WildECOOP poster
Posters
Alex Villazón Universidad Privada Boliviana, Bolivia, Haiyang Sun Università della Svizzera italiana, Andrea Rosà University of Lugano, Switzerland, Eduardo Rosales University of Lugano, Switzerland, Daniele Bonetta Oracle Labs, Isabella Defilippis Universidad Privada Boliviana (UPB), Sergio Oporto Universidad Privada Boliviana (UPB), Walter Binder University of Lugano, Switzerland
18:00
90m
Poster
Garbage-free Abstract Interpretation through Abstract Reference CountingECOOP poster
Posters
Noah Van Es Sofware Languages Lab, Vrije Universiteit Brussel, Quentin Stiévenart Vrije Universiteit Brussel, Belgium, Coen De Roover Vrije Universiteit Brussel
File Attached
18:00
90m
Poster
Finally, a Polymorphic Linear Algebra LanguageECOOP poster
Posters
Amir Shaikhha University of Oxford, Lionel Parreaux EPFL
18:00
90m
Poster
Multiverse Debugging: Non-deterministic Debugging for Non-deterministic ProgramsECOOP posterDemonstration
Posters
Carmen Torres Lopez Vrije Universiteit Brussel, Robbert Gurdeep Singh Universiteit Gent, Belgium, Stefan Marr University of Kent, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent, Belgium
18:00
90m
Poster
Lifestate: Event-Driven Protocols and Callback Control FlowECOOP poster
Posters
Shawn Meier University of Colorado, Boulder, Sergio Mover Ecole Polytechnique, Bor-Yuh Evan Chang University of Colorado Boulder
18:00
90m
Poster
Distributed System Development with ScalaLociECOOP poster
Posters
Pascal Weisenburger Technische Universität Darmstadt, Guido Salvaneschi TU Darmstadt
18:00
90m
Poster
Lightweight Software Profiling of Compiled CodeAORTA poster
Posters
Andrew Craik IBM Canada, Rahil Shah IBM Canada, Ben Thomas IBM Canada, Devin Papineau IBM Canada
18:00
90m
Poster
Android App Analysis Query LanguageBenchWork posterDemonstration
Posters
Felix Pauck Paderborn University, Germany
Media Attached
18:00
90m
Poster
DynaSOAr: A Parallel Memory Allocator for OOP on GPUsECOOP poster
Posters
Matthias Springer Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology
18:00
90m
Poster
Godot: All the Benefits of Implicit and Explicit FuturesECOOP poster
Posters
Kiko Fernandez-Reyes Uppsala University, Dave Clarke Uppsala Univ. Sweden and KU Leuvern, Ludovic Henrio CNRS, Einar Broch Johnsen University of Oslo, Tobias Wrigstad Uppsala University
File Attached
18:00
90m
Poster
Deep Static Modeling of invokedynamicECOOP poster
Posters
George Fourtounis University of Athens, Yannis Smaragdakis University of Athens