Blogs (28) >>
ECOOP 2016
Sun 17 - Fri 22 July 2016 Rome, Italy
Wed 20 Jul 2016 11:20 - 11:45 at Auditorium Loyola - Session 1 Chair(s): Camil Demetrescu
Modern software systems are not built from scratch. They use functionality provided by libraries. These libraries evolve and often upgrades are deployed without the systems being recompiled. In Java, this process is particularly error-prone due to the mismatch between source and binary compatibility, and the lack of API stability in many popular libraries. We propose a novel approach to mitigate this problem based on the use of invokedynamic instructions for cross-component method invocations. The dispatch mechanism of invokedynamic is used to provide on-the-fly signature adaptation. We show how this idea can be used to construct a Java compiler that produces more resilient byte code. We present the dynamo compiler, a proof-of-concept implemented as javac post compiler, and evaluate our approach using several benchmark examples and two case studies showing how the use of the dynamo compiler can prevent certain types of linkage and stack overflow errors that have been observed in real-world systems.

Wed 20 Jul

10:30 - 12:00: Research Track - Session 1 at Auditorium Loyola
Chair(s): Camil DemetrescuSapienza University of Rome
ecoop-2016-papers146900340000010:30 - 10:55
Zachary PalmerSwarthmore College, Scott F. SmithThe Johns Hopkins University
Link to publication DOI Media Attached
ecoop-2016-papers146900490000010:55 - 11:20
Maxime Chevalier-BoisvertUniversity of Montreal, Marc FeeleyUniversité de Montréal
Link to publication DOI Media Attached
ecoop-2016-papers146900640000011:20 - 11:45
Kamil JezekUniversity of West Bohemia, Pilsen, CZ, Jens DietrichMassey University, New Zealand
Link to publication DOI Pre-print Media Attached
ecoop-2016-papers146900790000011:45 - 12:00