PointerAnalysis
: the entrance.
WholeProgramTransformer
: Iterates over methods and prepares SSA. Todo:
- Buffer methods and iterate until no updates.
- Maintain functions/callsites argument pointsToSet (pts) environment.
PtsAnalysis
: Forward flow analysis on SSA of one method.
- Receive and update functions/callsites argument pts environment.
- Neccessary data flow operations.
Advanced topics:
- Field sensitivity.
- Context sensitivity.
- Path sensitivity (detecting constant condition and exclusive condition).
mvn package assembly:single
java -jar target/analyzer-1.0-jar-with-dependencies.jar code test.Hello
When using Intellij Idea, set pts.PointerAnalysis
as the main class and code test.Hello
as the cmd line arguments.
To update test inputs:
cd code
javac `find . -name "*.java"`