Write a Blog >>
ISSTA 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA 2018
Tue 17 Jul 2018 11:40 - 12:00 at Zurich II - Static Analysis Chair(s): Karim Ali

The dynamic proxy API is one of Java’s most widely-used dynamic features, permitting principled run-time code generation and linking. Dynamic proxies can implement any set of interfaces and forward method calls to a special object that handles them reflectively. The flexibility of dynamic proxies, however, comes at the cost of having a dynamically generated layer of bytecode that cannot be penetrated by current static analyses.

In this paper, we observe that the dynamic proxy API is stylized enough to permit static analysis. We show how the semantics of dynamic proxies can be modeled in a straightforward manner as logical rules in the Doop static analysis framework. This concise set of rules enables Doop’s standard analyses to process code behind dynamic proxies. We evaluate our approach by analyzing XCorpus, a corpus of real Java programs containing dynamic proxies: we fully handle 61% of the dynamic proxies found, missing the rest due to lack of computing resources or front-end (Soot) error. Our handling results in the analysis of significant portions of previously unreachable or incompletely-modeled code.

Tue 17 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Static AnalysisISSTA Technical Papers at Zurich II
Chair(s): Karim Ali University of Alberta
11:00
20m
Talk
Repositioning of Static Analysis Alarms
ISSTA Technical Papers
Tukaram Muske Tata Consultancy Services Ltd, Rohith Talluri Tata Consultancy Services Ltd, Alexander Serebrenik Eindhoven University of Technology
11:20
20m
Talk
Shooting from the Heap: Ultra-Scalable Static Analysis with Heap Snapshots
ISSTA Technical Papers
Neville Grech University of Athens, George Fourtounis University of Athens, Adrian Francalanza University of Malta, Yannis Smaragdakis University of Athens
11:40
20m
Talk
Static Analysis of Java Dynamic Proxies
ISSTA Technical Papers
George Fourtounis University of Athens, George Kastrinis University of Athens, Yannis Smaragdakis University of Athens
12:00
20m
Talk
Practical Detection of Concurrency Issues at Coding Time
ISSTA Technical Papers
Luc Bläser Hochschule für Technik Rapperswil
12:20
10m
Q&A in groups
ISSTA Technical Papers