This repository contains the SparseIDE framework. SparseIDE is a scalable alternative to the original IDE framework, implemented on top of Heros IFDS/IDE Solver.
Preprint is available:
Symbol-Specific Sparsification of Interprocedural Distributive Environment Problems (ICSE 2024)
- SparseIDE implementation source code:
SparseHeros
- Constant Propagation Analysis Client source code:
SparseIDEClient
- ConstantBench microbenchmark test cases:
SparseIDEClient/src/test/java/target/constantbench
- Install the dependencies for
SparseIDEClient
: runbash install_dependencies.sh
underSparseIDEClient/dependencies
- Build the executable: run
mvn clean install
(Note that install will also run the correctness test cases on the ConstantBench) - Find the executable jar,
SparseIDEClient-0.0.1-SNAPSHOT-jar-with-dependencies.jar
underSparseIDEClient/target
To build and use SparseIDE:
- run
mvn clean install
inSparseHeros
- add the following dependency to your project:
<dependency>
<groupId>de.upb.cs.swt</groupId>
<artifactId>heros</artifactId>
<version>1.2.3-Sparse-SNAPSHOT</version>
</dependency>