Thu 18 Jul 2019 13:30 - 13:50 at Mancy - Program Analysis 2 Chair(s): Christian Hammer

Java 7 introduced programmable dynamic linking in the form of the invokedynamic framework. Static analysis of code containing programmable dynamic linking has often been cited as a significant source of unsoundness in the analysis of Java programs. For example, Java lambdas, introduced in Java 8, are a very popular feature, which is, however, resistant to static analysis, since it mixes invokedynamic with dynamic code generation. These techniques invalidate static analysis assumptions: programmable linking breaks reasoning about method resolution while dynamically generated code is, by definition, not available statically. In this paper, we show that a static analysis can predictively model uses of invokedynamic while also cooperating with extra rules to handle the runtime code generation of lambdas. Our approach plugs into an existing static analysis and helps eliminate all unsoundness in the handling of lambdas (including associated features such as method references) and generic invokedynamic uses. We evaluate our technique on a benchmark suite of our own and on third-party benchmarks, uncovering all code previously unreachable due to unsoundness, highly efficiently.

Thu 18 Jul

Displayed time zone: Belfast change

13:30 - 15:10
Program Analysis 2Research Papers at Mancy
Chair(s): Christian Hammer University of Potsdam
13:30
20m
Research paper
Deep Static Modeling of invokedynamic
Research Papers
George Fourtounis University of Athens, Yannis Smaragdakis University of Athens
DOI Media Attached
13:50
20m
Research paper
Automated Large-scale Multi-language Dynamic Program Analysis in the WildTool Insights Paper
Research Papers
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
DOI Media Attached
14:10
20m
Research paper
MagpieBridge: A General Approach to Integrating Static Analyses into IDEs and EditorsTool Insights Paper
Research Papers
Linghui Luo Paderborn University, Julian Dolby IBM Research, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
DOI Pre-print Media Attached
14:30
20m
Research paper
Reasoning About Foreign Function Interfaces Without Modelling the Foreign Language
Research Papers
Alexi Turcotte Northeastern University, Ellen Arteca Northeastern University, Gregor Richards University of Waterloo
DOI Media Attached
14:50
20m
Research paper
Multiverse Debugging: Non-deterministic Debugging for Non-deterministic ProgramsBrave New Idea
Research Papers
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
DOI Media Attached