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

ecoop-2019-Posters
18:00 - 19:30: Posters - Poster session at Mancy
ecoop-2019-Posters18:00 - 19:30
Poster
Linghui LuoPaderborn University, Julian DolbyIBM Research, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Alexander Asp BockIT University of Copenhagen
ecoop-2019-Posters18:00 - 19:30
Poster
Willem PenninckxKU Leuven, Amin Timanyimec-Distrinet KU-Leuven, Bart JacobsKU Leuven
ecoop-2019-Posters18:00 - 19:30
Poster
Suvam MukherjeeIndian Institute of Science, Nitin John RajInternational Institute of Information Technology, Hyderabad, Krishnan GovindrajMicrosoft Research, Pantazis DeligiannisMicrosoft Research, Chandramouleswaran RavichandranMicrosoft Azure, Akash LalMicrosoft Research India, Aseem RastogiMicrosoft Research, Raja KrishnaswamyMicrosoft Azure
ecoop-2019-Posters18:00 - 19:30
Poster
Luca FranceschiniDIBRIS, University of Genova, Italy
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Manas ThakurIIT Madras, V Krishna NandivadaIIT Madras
ecoop-2019-Posters18:00 - 19:30
Poster
Yossi GilTechnion—Israel Institute of Technology, Ori RothTechnion
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Juan FumeroUniversity of Manchester, UK, Michail PapadimitriouUniversity of Manchester, UK, Christos KotselidisUniversity of Manchester, UK
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Thodoris SotiropoulosAthens University of Economics and Business, Benjamin LivshitsImperial College London, UK
ecoop-2019-Posters18:00 - 19:30
Poster
ecoop-2019-Posters18:00 - 19:30
Poster
Tetsuo KaminaOita University, Tomoyuki AotaniTokyo Institute of Technology
ecoop-2019-Posters18:00 - 19:30
Poster
Kang Hong JinSchool of Information Systems, Singapore Management University, Ferdian Thung, Julia LawallInria/LIP6, Gilles MullerLIP6-INRIA/UPMC, Lingxiao JiangSingapore Management University, David LoSingapore Management University
ecoop-2019-Posters18:00 - 19:30
Poster
Philipp Dominik SchubertHeinz Nixdorf Institut, Paderborn University
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Abhishek TiwariUniversity of Potsdam, Sascha GroßUniversity of Potsdam, Christian HammerUniversity of Potsdam
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Daniel PelsmaekerDelft University of Technology, Netherlands, Hendrik van AntwerpenTU Delft, Eelco VisserDelft University of Technology
ecoop-2019-Posters18:00 - 19:30
Poster
Matthias Eichholz, Eric CampbellCornell University, Nate FosterCornell University, Guido SalvaneschiTU Darmstadt, Mira MeziniTU Darmstadt, Germany
ecoop-2019-Posters18:00 - 19:30
Poster
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Lisa Nguyen Quang DoPaderborn University, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Dhruv MakwanaUnaffiliated, Neel KrishnaswamiComputer Laboratory, University of Cambridge
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Jonas De BleserSofware Languages Lab, Vrije Universiteit Brussel, Coen De RooverVrije Universiteit Brussel
ecoop-2019-Posters18:00 - 19:30
Poster
Xiaoli LiangIBM Canada, Daryl MaierIBM Canada
ecoop-2019-Posters18:00 - 19:30
Poster
Jafar Haminimec-DistriNet, Depatrmant of Computer Science, KU Leuven, Belgium, Bart JacobsRadboud University Nijmegen
ecoop-2019-Posters18:00 - 19:30
Poster
Alex VillazónUniversidad Privada Boliviana, Bolivia, Haiyang SunUniversità della Svizzera italiana, Andrea RosàUniversity of Lugano, Switzerland, Eduardo RosalesUniversity of Lugano, Switzerland, Daniele BonettaOracle Labs, Isabella DefilippisUniversidad Privada Boliviana (UPB), Sergio OportoUniversidad Privada Boliviana (UPB), Walter BinderUniversity of Lugano, Switzerland
ecoop-2019-Posters18:00 - 19:30
Poster
Noah Van EsSofware Languages Lab, Vrije Universiteit Brussel, Quentin StiévenartVrije Universiteit Brussel, Belgium, Coen De RooverVrije Universiteit Brussel
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Amir ShaikhhaUniversity of Oxford, Lionel ParreauxEPFL
ecoop-2019-Posters18:00 - 19:30
Poster
Carmen Torres LopezVrije Universiteit Brussel, Robbert Gurdeep SinghUniversiteit Gent, Belgium, Stefan MarrUniversity of Kent, Elisa Gonzalez BoixVrije Universiteit Brussel, Belgium, Christophe ScholliersUniversiteit Gent, Belgium
ecoop-2019-Posters18:00 - 19:30
Poster
Shawn MeierUniversity of Colorado, Boulder, Sergio MoverEcole Polytechnique, Bor-Yuh Evan ChangUniversity of Colorado Boulder
ecoop-2019-Posters18:00 - 19:30
Poster
Pascal WeisenburgerTechnische Universität Darmstadt, Guido SalvaneschiTU Darmstadt
ecoop-2019-Posters18:00 - 19:30
Poster
Andrew CraikIBM Canada, Rahil ShahIBM Canada, Ben ThomasIBM Canada, Devin PapineauIBM Canada
ecoop-2019-Posters18:00 - 19:30
Poster
Felix PauckPaderborn University, Germany
Media Attached
ecoop-2019-Posters18:00 - 19:30
Poster
Matthias SpringerTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
ecoop-2019-Posters18:00 - 19:30
Poster
Kiko Fernandez-ReyesUppsala University, Dave ClarkeUppsala Univ. Sweden and KU Leuvern, Ludovic HenrioCNRS, Einar Broch JohnsenUniversity of Oslo, Tobias WrigstadUppsala University
File Attached
ecoop-2019-Posters18:00 - 19:30
Poster
George FourtounisUniversity of Athens, Yannis SmaragdakisUniversity of Athens