user16921896
user16921896

Reputation: 1

How to use VTA algorithm to create call graph with soot and spark for java?

I'm new in analysis with soot framework and now I need to implement the VTA algorithm and use it to create call graphs.

How can I implement VTA?

and how can I use VTA implementation in soot?

Upvotes: 0

Views: 473

Answers (1)

zozo
zozo

Reputation: 11

You might do not need it anymore, but Soot provides a simple way to create call graphs. You can use the command line or the provided API.

You can set different settings, ones that are realted to call graphs are CG phase options in Soot. The texts in parenthesis are the names and values for a given phase.

When using API (You need the Soot jar, You can get it from Soot Github repo) you set the options by method calls like

Options.v().setPhaseOption("cg","enabled:true");

After setting everything You need You should run Soot with the needed arguments

soot.Main.main(args);

After that You can get the CallGraph

CallGraph cg = Scene.v().getCallGraph();

After that You just write a simple method that traverses the graph and serialize it.

Upvotes: 1

Related Questions