Class JvmTaintCpa
- java.lang.Object
-
- proguard.analysis.cpa.defaults.SimpleCpa
-
- proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
-
- All Implemented Interfaces:
ConfigurableProgramAnalysis
public class JvmTaintCpa extends SimpleCpa
TheJvmTaintCpa
computes abstract states containingJvmTaintSource
s which can reach the given code location.
-
-
Constructor Summary
Constructors Constructor Description JvmTaintCpa(java.util.Map<Signature,java.util.Set<JvmTaintSource>> signaturesToSources, java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)
Create a taint CPA.JvmTaintCpa(java.util.Set<? extends JvmTaintSource> sources)
Create a taint CPA.JvmTaintCpa(java.util.Set<? extends JvmTaintSource> sources, java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers, java.util.Map<Call,java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
Create a taint CPA.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.Map<Signature,java.util.Set<JvmTaintSource>>
createSourcesMap(java.util.Set<? extends JvmTaintSource> sources)
Since the used data structure is a map that uses the fqn as key, which is a parameter of theTaintSource
s, this method constructs the map correctly starting from a set of sources.-
Methods inherited from class proguard.analysis.cpa.defaults.SimpleCpa
getAbstractDomain, getMergeOperator, getPrecisionAdjustment, getStopOperator, getTransferRelation
-
-
-
-
Constructor Detail
-
JvmTaintCpa
public JvmTaintCpa(java.util.Set<? extends JvmTaintSource> sources)
Create a taint CPA.- Parameters:
sources
- a set of taint sources
-
JvmTaintCpa
public JvmTaintCpa(java.util.Set<? extends JvmTaintSource> sources, java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers, java.util.Map<Call,java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
Create a taint CPA.- Parameters:
sources
- a set of taint sourcestaintTransformers
- a mapping from method signature to a transformer object applied to the taint state when that method is invoked
-
JvmTaintCpa
public JvmTaintCpa(java.util.Map<Signature,java.util.Set<JvmTaintSource>> signaturesToSources, java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)
Create a taint CPA.- Parameters:
signaturesToSources
- a mapping from method signature to taint sourcestaintTransformers
- a mapping from method signature to a transformer object applied to the taint state when that method is invoked
-
-
Method Detail
-
createSourcesMap
public static java.util.Map<Signature,java.util.Set<JvmTaintSource>> createSourcesMap(java.util.Set<? extends JvmTaintSource> sources)
Since the used data structure is a map that uses the fqn as key, which is a parameter of theTaintSource
s, this method constructs the map correctly starting from a set of sources.
-
-