public AnalysisContext(IInfoflowCFG icfg, BackwardsInfoflowCFG bwicfg, AnalysisEdgeFunctions<V> edgeFunc, IDebugger<V> debugger) { this.icfg = icfg; this.bwicfg = bwicfg; this.debugger = debugger; this.edgeFunc = edgeFunc; }
public Analysis(AnalysisProblem<V> problem, IInfoflowCFG icfg) { this.edgeFunc = problem.edgeFunctions(); this.problem = problem; this.icfg = icfg; this.bwicfg = new BackwardsInfoflowCFG(icfg); this.debugger = new NullDebugger<V>(); }
public Analysis(AnalysisProblem<V> problem, IInfoflowCFG icfg, IDebugger<V> debugger) { this.edgeFunc = problem.edgeFunctions(); this.problem = problem; this.icfg = icfg; this.bwicfg = new BackwardsInfoflowCFG(icfg); this.debugger = debugger; }
private Set<FrameworkEvent> getFrameworkEvents(Unit targetLocation, BackwardsInfoflowCFG cfg) { FrameworkEventManager eventManager = FrameworkEventManager.getEventManager(); ProcessManifest manifest = UtilApk.getManifest(); Set<FrameworkEvent> targetAndroidEvents = eventManager.extractInitalEventsForReachingTarget(targetLocation, cfg, manifest); return targetAndroidEvents; }
public Set<FrameworkEvent> extractInitalEventsForReachingTarget(Unit targetLocation, BackwardsInfoflowCFG backwardsCFG, ProcessManifest manifest) { Set<Unit> headUnits = getAllInitalMethodCalls(targetLocation, backwardsCFG); Set<FrameworkEvent> androidEvents = getAndroidEventsFromManifest(backwardsCFG, headUnits, manifest); return androidEvents; }
public void initializeCFG() { InfoflowCFG forwardCFG = new InfoflowCFG(); backwardsCFG = new BackwardsInfoflowCFG(forwardCFG); }
public BackwardsInfoflowCFG getBackwardsCFG() { return backwardsCFG; }
public AliasFinder(IInfoflowCFG cfg, BoomerangOptions options) { this(cfg, new BackwardsInfoflowCFG(cfg), options); }
public AliasFinder(IInfoflowCFG cfg, BackwardsInfoflowCFG bwcfg, BoomerangOptions options) { this.context = new BoomerangContext(cfg, bwcfg, options); }
public IFDSReachingConstantDefinitions(BackwardsInfoflowCFG icfg, IAPIVulnManager imanager) { super(icfg); infoflowCFG = icfg; manager = imanager; }
/** * Constructs an AliasFinder with the provided interprocedural control flow * graph. * * @param cfg * the interprocedural control flow graph. */ public AliasFinder(IInfoflowCFG cfg) { this(cfg, new BackwardsInfoflowCFG(cfg), new BoomerangOptions()); }