Inter-procedural data-flow analysis with ifds/ide and soot
E Bodden - Proceedings of the ACM SIGPLAN International …, 2012 - dl.acm.org
Proceedings of the ACM SIGPLAN International Workshop on State of the Art in …, 2012•dl.acm.org
The IFDS and IDE frameworks by Reps, Horwitz and Sagiv are two general frameworks for
the inter-procedural analysis of data-flow problems with distributive flow functions over finite
domains. Many data-flow problems do have distributive flow functions and are thus
expressible as IFDS or IDE problems, reaching from basic analyses like truly-live variables
to complex analyses for problems from the current literature such as typestate and secure
information-flow. In this work we describe our implementation of a generic IFDS/IDE solver …
the inter-procedural analysis of data-flow problems with distributive flow functions over finite
domains. Many data-flow problems do have distributive flow functions and are thus
expressible as IFDS or IDE problems, reaching from basic analyses like truly-live variables
to complex analyses for problems from the current literature such as typestate and secure
information-flow. In this work we describe our implementation of a generic IFDS/IDE solver …
The IFDS and IDE frameworks by Reps, Horwitz and Sagiv are two general frameworks for the inter-procedural analysis of data-flow problems with distributive flow functions over finite domains. Many data-flow problems do have distributive flow functions and are thus expressible as IFDS or IDE problems, reaching from basic analyses like truly-live variables to complex analyses for problems from the current literature such as typestate and secure information-flow.
In this work we describe our implementation of a generic IFDS/IDE solver on top of Soot and contrast it with an IFDS implementation in the Watson Libraries for Analysis (WALA), both from a user's perspective and in terms of the implementation. While WALA's implementation is geared much towards memory efficiency, ours is currently geared more towards extensibility and ease of use and we focus on efficiency as a secondary goal.
We further discuss possible extensions to our IFDS/IDE implementation that may be useful to support a wider range of analyses.
ACM Digital Library