pith. sign in

arxiv: 1302.2692 · v1 · pith:7TEJXT7Rnew · submitted 2013-02-12 · 💻 cs.PL

Pushdown Exception-Flow Analysis of Object-Oriented Programs

classification 💻 cs.PL
keywords analysispushdownexceptionscontrol-flowobject-orientedprogramsabstractandroid
0
0 comments X
read the original abstract

Statically reasoning in the presence of and about exceptions is challenging: exceptions worsen the well-known mutual recursion between data-flow and control-flow analysis. The recent development of pushdown control-flow analysis for the {\lambda}-calculus hints at a way to improve analysis of exceptions: a pushdown stack can precisely match catches to throws in the same way it matches returns to calls. This work generalizes pushdown control-flow analysis to object-oriented programs and to exceptions. Pushdown analysis of exceptions improves precision over the next best analysis, Bravenboer and Smaragdakis's Doop, by orders of magnitude. By then generalizing abstract garbage collection to object-oriented programs, we reduce analysis time by half over pure pushdown analysis. We evaluate our implementation for Dalvik bytecode on standard benchmarks as well as several Android applications.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.