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
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30: Static AnalysisISSTA Technical Papers at Zurich II
Chair(s): Karim AliUniversity of Alberta
11:00 - 11:20
Repositioning of Static Analysis Alarms
ISSTA Technical Papers
Tukaram MuskeTata Consultancy Services Ltd, Rohith TalluriTata Consultancy Services Ltd, Alexander SerebrenikEindhoven University of Technology
11:20 - 11:40
Shooting from the Heap: Ultra-Scalable Static Analysis with Heap Snapshots
ISSTA Technical Papers
Neville GrechUniversity of Athens, George FourtounisUniversity of Athens, Adrian FrancalanzaUniversity of Malta, Yannis SmaragdakisUniversity of Athens
11:40 - 12:00
Static Analysis of Java Dynamic Proxies
ISSTA Technical Papers
George FourtounisUniversity of Athens, George KastrinisUniversity of Athens, Yannis SmaragdakisUniversity of Athens
12:00 - 12:20
Practical Detection of Concurrency Issues at Coding Time
ISSTA Technical Papers
Luc BläserHochschule für Technik Rapperswil
12:20 - 12:30
Q&A in groups
ISSTA Technical Papers