import com.ibm.wala.shrikeBT.*; import com.ibm.wala.shrikeCT.*; import com.ibm.wala.util.config.FileOfClasses; import com.ibm.wala.util.intset.*; import com.ibm.wala.ipa.callgraph.*; import com.ibm.wala.ipa.callgraph.impl.Util; import com.ibm.wala.ipa.cha.ClassHierarchy; import com.ibm.wala.ipa.cha.ClassHierarchyException; import com.ibm.wala.util.CancelException; import com.ibm.wala.util.config.AnalysisScopeReader; import com.ibm.wala.util.io.FileProvider; import java.io.*; public class WALAShrikeExample { public static void main(String[] args) { try { File exFile = new FileProvider().getFile("path/to/your/class/files.txt"); AnalysisScope scope = AnalysisScopeReader.readJavaScope("path/to/your/exclusions.txt", exFile, WALAShrikeExample.class.getClassLoader()); ClassHierarchy cha = ClassHierarchy.make(scope); AnalysisOptions options = new AnalysisOptions(); CallGraphBuilder builder = Util.makeZeroCFABuilder(options, Throttle.create()); CallGraph cg = builder.makeCallGraph(options, null); for (CGNode node : cg) { performAnalysis(node); } } catch (IOException e) { e.printStackTrace(); } catch (ClassHierarchyException e) { e.printStackTrace(); } catch (CancelException e) { e.printStackTrace(); } } private static void performAnalysis(CGNode node) { } }


上一篇:
下一篇:
切换中文