Search in sources :

Example 1 with OnFlyCallGraph

use of soot.jimple.spark.solver.OnFlyCallGraph in project soot by Sable.

the class ContextInsensitiveBuilder method setup.

/**
 * Creates an empty pointer assignment graph.
 */
public PAG setup(SparkOptions opts) {
    pag = opts.geom_pta() ? new GeomPointsTo(opts) : new PAG(opts);
    if (opts.simulate_natives()) {
        pag.nativeMethodDriver = new NativeMethodDriver(new SparkNativeHelper(pag));
    }
    if (opts.on_fly_cg() && !opts.vta()) {
        ofcg = new OnFlyCallGraph(pag, opts.apponly());
        pag.setOnFlyCallGraph(ofcg);
    } else {
        cgb = new CallGraphBuilder(DumbPointerAnalysis.v());
    }
    return pag;
}
Also used : NativeMethodDriver(soot.jimple.toolkits.pointer.util.NativeMethodDriver) OnFlyCallGraph(soot.jimple.spark.solver.OnFlyCallGraph) CallGraphBuilder(soot.jimple.toolkits.callgraph.CallGraphBuilder) GeomPointsTo(soot.jimple.spark.geom.geomPA.GeomPointsTo) PAG(soot.jimple.spark.pag.PAG) MethodPAG(soot.jimple.spark.pag.MethodPAG) SparkNativeHelper(soot.jimple.spark.internal.SparkNativeHelper)

Aggregations

GeomPointsTo (soot.jimple.spark.geom.geomPA.GeomPointsTo)1 SparkNativeHelper (soot.jimple.spark.internal.SparkNativeHelper)1 MethodPAG (soot.jimple.spark.pag.MethodPAG)1 PAG (soot.jimple.spark.pag.PAG)1 OnFlyCallGraph (soot.jimple.spark.solver.OnFlyCallGraph)1 CallGraphBuilder (soot.jimple.toolkits.callgraph.CallGraphBuilder)1 NativeMethodDriver (soot.jimple.toolkits.pointer.util.NativeMethodDriver)1