Blogs (61) >>
Fri 20 Jul 2018 17:00 - 17:15 at Hamburg - Design of Static Analysis

The goal of program analysis frameworks is to decrease the effort required of program analysis developers to implement a new analysis. The Soot Java optimization framework supplies analysis developers with several types of abstract analyses that depending on the developers’ needs can be further extended. Unfortunately, the applicability of the available abstract analyses in Soot is limited to the analysis with a finite abstract domain, which are sufficient for the majority of program optimization tasks. This limitation hinders the use of Soot by program analysis researchers working on abstract interpretation that commonly work with infinite abstract domains.

In this work we re-design Soot’s forward flow analysis framework to extend its support for the abstract interpretation community. To accomplish this goal, we first extend a definition of a data-flow analysis to include additional parameters required for efficient and precise computations of abstract interpretation analyses. Next, we re-factor the current Soot’s implementation of a data-flow analysis to represent the extended definition. Finally, we demonstrate the flexibility and the applicability of the refactored implementation by instantiating several essential data-flow analyses used in abstract interpretation research.

Fri 20 Jul
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change