Pointer Analysis Boomerang

Boomerang is an efficient and precise demand-driven pointer analysis for Java. It achieves efficiency by propagating pointer relations in a distributive manner. For more details see our ECOOP2016 publication on Boomerang.

We recently redesigned Boomerang based on Synchronized Pushdown Systems (SPDS). SPDS are an efficient replace for $k$-limited access paths or access graphs, the original heap model Boomerang relied on.

The implementation based on SPDS is found here.


The old implementation is found here.


Johannes Späth
Researcher of Program Analysis