分析对象jar包的所依赖的第三发jar包都为导入到jacodb中,所以设置了UnknownClasses和UnknownClassMethodsAndFields特性。
class path特性设置
database.asyncClasspath(classpath,
List.of(UnknownClasses.INSTANCE,
UnknownClassMethodsAndFields.INSTANCE)).get();
执行jacodb自带的npe和unused分析:
NpeManager npeManager = new NpeManager(applicationGraph, unitResolver);
List<TaintVulnerability> npeVulnerabilities =
npeManager.analyze(entryMethodList,
toDuration(ifdsAnalysisParameter.getTimeout(),
DurationUnit.SECONDS));
UnusedVariableManager unusedVariableManager =
new UnusedVariableManager(applicationGraph, unitResolver);
List<UnusedVariableVulnerability> vulnerabilities =
unusedVariableManager.analyz