com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXCFABuilder类的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(12.0k)|赞(0)|评价(0)|浏览(95)

本文整理了Java中com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXCFABuilder类的一些代码示例,展示了ZeroXCFABuilder类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZeroXCFABuilder类的具体详情如下:
包路径:com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXCFABuilder
类名称:ZeroXCFABuilder

ZeroXCFABuilder介绍

[英]0-1-CFA Call graph builder, optimized to not disambiguate instances of "uninteresting" types.
[中]0-1-CFA调用图生成器,优化为不消除“无趣”类型实例的歧义。

代码示例

代码示例来源:origin: com.ibm.wala/com.ibm.wala.core

public static ZeroXCFABuilder make(Language l, IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache,
  ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter, int instancePolicy) throws IllegalArgumentException {
 if (options == null) {
  throw new IllegalArgumentException("options == null");
 }
 return new ZeroXCFABuilder(l, cha, options, cache, appContextSelector, appContextInterpreter, instancePolicy);
}

代码示例来源:origin: wala/WALA

public ZeroXCFABuilder(Language l, IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector appContextSelector,
  SSAContextInterpreter appContextInterpreter, int instancePolicy) {
 super(l.getFakeRootMethod(cha, options, cache), options, cache, new DefaultPointerKeyFactory());
 ContextSelector def = new DefaultContextSelector(options, cha);
 ContextSelector contextSelector = appContextSelector == null ? def : new DelegatingContextSelector(appContextSelector, def);
 setContextSelector(contextSelector);
 SSAContextInterpreter c = new DefaultSSAInterpreter(options, cache);
 c = new DelegatingSSAContextInterpreter(ReflectionContextInterpreter.createReflectionContextInterpreter(cha, options,
   getAnalysisCache()), c);
 SSAContextInterpreter contextInterpreter = appContextInterpreter == null ? c : new DelegatingSSAContextInterpreter(
   appContextInterpreter, c);
 setContextInterpreter(contextInterpreter);
 ZeroXInstanceKeys zik = makeInstanceKeys(cha, options, contextInterpreter, instancePolicy);
 setInstanceKeys(zik);
}

代码示例来源:origin: wala/WALA

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param scope representation of the analysis scope
 * @param customSelector user-defined context selector, or null if none
 * @param customInterpreter user-defined context interpreter, or null if none
 * @return a 0-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 */
public static SSAPropagationCallGraphBuilder makeZeroCFABuilder(Language l, AnalysisOptions options, IAnalysisCacheView cache,
  IClassHierarchy cha, AnalysisScope scope, ContextSelector customSelector, SSAContextInterpreter customInterpreter) {
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 addDefaultSelectors(options, cha);
 addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
 return ZeroXCFABuilder.make(l, cha, options, cache, customSelector, customInterpreter, ZeroXInstanceKeys.NONE);
}

代码示例来源:origin: com.ibm.wala/com.ibm.wala.core

public ZeroXCFABuilder(Language l, IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector appContextSelector,
  SSAContextInterpreter appContextInterpreter, int instancePolicy) {
 super(l.getFakeRootMethod(cha, options, cache), options, cache, new DefaultPointerKeyFactory());
 ContextSelector def = new DefaultContextSelector(options, cha);
 ContextSelector contextSelector = appContextSelector == null ? def : new DelegatingContextSelector(appContextSelector, def);
 setContextSelector(contextSelector);
 SSAContextInterpreter c = new DefaultSSAInterpreter(options, cache);
 c = new DelegatingSSAContextInterpreter(ReflectionContextInterpreter.createReflectionContextInterpreter(cha, options,
   getAnalysisCache()), c);
 SSAContextInterpreter contextInterpreter = appContextInterpreter == null ? c : new DelegatingSSAContextInterpreter(
   appContextInterpreter, c);
 setContextInterpreter(contextInterpreter);
 ZeroXInstanceKeys zik = makeInstanceKeys(cha, options, contextInterpreter, instancePolicy);
 setInstanceKeys(zik);
}

代码示例来源:origin: com.ibm.wala/com.ibm.wala.core

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param scope representation of the analysis scope
 * @param customSelector user-defined context selector, or null if none
 * @param customInterpreter user-defined context interpreter, or null if none
 * @return a 0-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 */
public static SSAPropagationCallGraphBuilder makeZeroCFABuilder(Language l, AnalysisOptions options, IAnalysisCacheView cache,
  IClassHierarchy cha, AnalysisScope scope, ContextSelector customSelector, SSAContextInterpreter customInterpreter) {
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 addDefaultSelectors(options, cha);
 addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
 return ZeroXCFABuilder.make(l, cha, options, cache, customSelector, customInterpreter, ZeroXInstanceKeys.NONE);
}

代码示例来源:origin: wala/WALA

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param scope representation of the analysis scope
 * @param customSelector user-defined context selector, or null if none
 * @param customInterpreter user-defined context interpreter, or null if none
 * @return a 0-1-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 */
public static SSAPropagationCallGraphBuilder makeVanillaZeroOneCFABuilder(Language l, AnalysisOptions options, IAnalysisCacheView analysisCache,
  IClassHierarchy cha, AnalysisScope scope, ContextSelector customSelector, SSAContextInterpreter customInterpreter) {
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 addDefaultSelectors(options, cha);
 addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
 return ZeroXCFABuilder.make(l, cha, options, analysisCache, customSelector, customInterpreter, ZeroXInstanceKeys.ALLOCATIONS | ZeroXInstanceKeys.CONSTANT_SPECIFIC);
}

代码示例来源:origin: wala/WALA

public static ZeroXCFABuilder make(Language l, IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache,
  ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter, int instancePolicy) throws IllegalArgumentException {
 if (options == null) {
  throw new IllegalArgumentException("options == null");
 }
 return new ZeroXCFABuilder(l, cha, options, cache, appContextSelector, appContextInterpreter, instancePolicy);
}

代码示例来源:origin: com.ibm.wala/com.ibm.wala.core

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param scope representation of the analysis scope
 * @param customSelector user-defined context selector, or null if none
 * @param customInterpreter user-defined context interpreter, or null if none
 * @return a 0-1-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 */
public static SSAPropagationCallGraphBuilder makeVanillaZeroOneCFABuilder(Language l, AnalysisOptions options, IAnalysisCacheView analysisCache,
  IClassHierarchy cha, AnalysisScope scope, ContextSelector customSelector, SSAContextInterpreter customInterpreter) {
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 addDefaultSelectors(options, cha);
 addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
 return ZeroXCFABuilder.make(l, cha, options, analysisCache, customSelector, customInterpreter, ZeroXInstanceKeys.ALLOCATIONS | ZeroXInstanceKeys.CONSTANT_SPECIFIC);
}

代码示例来源:origin: wala/WALA

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param cl classloader that can find WALA resources
 * @param scope representation of the analysis scope
 * @param xmlFiles set of Strings that are names of XML files holding bypass logic specifications.
 * @return a 0-1-Opt-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 * @throws IllegalArgumentException if xmlFiles == null
 */
public static SSAPropagationCallGraphBuilder make(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha,
  ClassLoader cl, AnalysisScope scope, String[] xmlFiles, byte instancePolicy) throws IllegalArgumentException {
 if (xmlFiles == null) {
  throw new IllegalArgumentException("xmlFiles == null");
 }
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 Util.addDefaultSelectors(options, cha);
 for (String xmlFile : xmlFiles) {
  Util.addBypassLogic(options, scope, cl, xmlFile, cha);
 }
 return new ZeroXCFABuilder(Language.JAVA, cha, options, cache, null, null, instancePolicy);
}

代码示例来源:origin: com.ibm.wala/com.ibm.wala.core

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param scope representation of the analysis scope
 * @param customSelector user-defined context selector, or null if none
 * @param customInterpreter user-defined context interpreter, or null if none
 * @return a 0-1-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 */
public static SSAPropagationCallGraphBuilder makeZeroOneCFABuilder(Language l, AnalysisOptions options, IAnalysisCacheView cache,
  IClassHierarchy cha, AnalysisScope scope, ContextSelector customSelector, SSAContextInterpreter customInterpreter) {
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 addDefaultSelectors(options, cha);
 addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
 return ZeroXCFABuilder.make(l, cha, options, cache, customSelector, customInterpreter, ZeroXInstanceKeys.ALLOCATIONS | ZeroXInstanceKeys.SMUSH_MANY | ZeroXInstanceKeys.SMUSH_PRIMITIVE_HOLDERS
   | ZeroXInstanceKeys.SMUSH_STRINGS | ZeroXInstanceKeys.SMUSH_THROWABLES);
}

代码示例来源:origin: com.ibm.wala/com.ibm.wala.core

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param cl classloader that can find WALA resources
 * @param scope representation of the analysis scope
 * @param xmlFiles set of Strings that are names of XML files holding bypass logic specifications.
 * @return a 0-1-Opt-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 * @throws IllegalArgumentException if xmlFiles == null
 */
public static SSAPropagationCallGraphBuilder make(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha,
  ClassLoader cl, AnalysisScope scope, String[] xmlFiles, byte instancePolicy) throws IllegalArgumentException {
 if (xmlFiles == null) {
  throw new IllegalArgumentException("xmlFiles == null");
 }
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 Util.addDefaultSelectors(options, cha);
 for (String xmlFile : xmlFiles) {
  Util.addBypassLogic(options, scope, cl, xmlFile, cha);
 }
 return new ZeroXCFABuilder(Language.JAVA, cha, options, cache, null, null, instancePolicy);
}

代码示例来源:origin: wala/WALA

public static SSAPropagationCallGraphBuilder makeVanillaZeroOneCFABuilder(
    AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha,
    AnalysisScope scope, ContextSelector customSelector,
    SSAContextInterpreter customInterpreter,
    InputStream summariesStream, MethodSummary extraSummary) {
  if (options == null) {
    throw new IllegalArgumentException("options is null");
  }
  Util.addDefaultSelectors(options, cha);
  // addDefaultBypassLogic(options, scope, Util.class.getClassLoader(),
  // cha);
  // addBypassLogic(options, scope,
  // AndroidAppLoader.class.getClassLoader(), methodSpec, cha);
  addBypassLogic(options, scope, summariesStream, cha, extraSummary);
  return ZeroXCFABuilder.make(Language.JAVA, cha, options, cache, customSelector,
      customInterpreter, ZeroXInstanceKeys.ALLOCATIONS
          | ZeroXInstanceKeys.CONSTANT_SPECIFIC);
}

代码示例来源:origin: wala/WALA

/**
 * @param options options that govern call graph construction
 * @param cha governing class hierarchy
 * @param scope representation of the analysis scope
 * @param customSelector user-defined context selector, or null if none
 * @param customInterpreter user-defined context interpreter, or null if none
 * @return a 0-1-CFA Call Graph Builder.
 * @throws IllegalArgumentException if options is null
 */
public static SSAPropagationCallGraphBuilder makeZeroOneCFABuilder(Language l, AnalysisOptions options, IAnalysisCacheView cache,
  IClassHierarchy cha, AnalysisScope scope, ContextSelector customSelector, SSAContextInterpreter customInterpreter) {
 if (options == null) {
  throw new IllegalArgumentException("options is null");
 }
 addDefaultSelectors(options, cha);
 addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
 return ZeroXCFABuilder.make(l, cha, options, cache, customSelector, customInterpreter, ZeroXInstanceKeys.ALLOCATIONS | ZeroXInstanceKeys.SMUSH_MANY | ZeroXInstanceKeys.SMUSH_PRIMITIVE_HOLDERS
   | ZeroXInstanceKeys.SMUSH_STRINGS | ZeroXInstanceKeys.SMUSH_THROWABLES);
}

代码示例来源:origin: wala/WALA

return ZeroXCFABuilder.make(Language.JAVA, cha, options, cache, customSelector,
    customInterpreter, ZeroXInstanceKeys.NONE);

相关文章