compile 'com.ibm.wala:wala-shrike:1.5.4'
String classFilePath = "/path/to/ClassFile.class";
ClassLoader classLoader = getClass().getClassLoader();
AnalysisScope scope = new AnalysisScope(classFilePath, classLoader);
ShrikeClassReader classReader = new ShrikeClassReader(scope);
IRFactory<IMethod> irFactory = new DefaultIRFactory();
Iterator<Entrypoint> entrypoints = com.ibm.wala.ipa.callgraph.impl.Util.makeMainEntrypoints(scope, classReader);
AnalysisOptions options = new AnalysisOptions();
CallGraphBuilder<InstanceKey> cgBuilder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl, irFactory, entrypoints);
CallGraph callGraph = cgBuilder.makeCallGraph(options, null);
PointerAnalysis pointerAnalysis = AnalysisEngine.getPointerAnalysis();
SSAPropagationCallGraphBuilder cgBuilder = (SSAPropagationCallGraphBuilder) builder;
HeapGraph<InstanceKey> heapGraph = pointerAnalysis.getHeapGraph();