Implementation of the IDE algorithm
The goal of this project is to make the Interprocedural Distributive Environment (IDE)  data-flow analysis algorithm accessible in WALA.
The code of the analysis is written in Scala. Our analysis relies on WALA, a library for static analysis on Java bytecode written in Java. To facilitate the usage of WALA in Scala, you can use the WALAFacade library.
 Mooly Sagiv, Thomas Reps, and Susan Horwitz. Precise interprocedural dataflow analysis with applications to constant propagation. Theoretical Computer Science, 1996.
Build the project with SBT:
- Checkout the IDE project and navigate into its directory.
- Install SBT on your machine.
- Navigate into the checked out IDE project directory from the command line.
IDE is a generalization of the IFDS algorithm . Any IFDS problem can be transformed to an equivalent IDE problem and solved with the IDE solver.
IdeFromIfdsBuilder, you can solve any existing WALA IFDS problem with IDE (see
 Thomas Reps, Susan Horwitz, and Mooly Sagiv. Precise interprocedural dataflow analysis via graph reachability. Principles of Programming Languages, 1995.
This is the initial version of the implementation. Work on making the analysis more efficient and adding examples of IDE problem implementations is in progress.