Class JvmTaintCpa
- java.lang.Object
-
- proguard.analysis.cpa.defaults.SimpleCpa<JvmAbstractState<SetAbstractState<JvmTaintSource>>>
-
- proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
-
- All Implemented Interfaces:
ConfigurableProgramAnalysis<JvmAbstractState<SetAbstractState<JvmTaintSource>>>
public class JvmTaintCpa extends SimpleCpa<JvmAbstractState<SetAbstractState<JvmTaintSource>>>
TheJvmTaintCpacomputes abstract states containingJvmTaintSources 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, java.util.Map<Call,java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations, AbortOperator abortOperator)Create a taint CPA.JvmTaintCpa(java.util.Set<? extends JvmTaintSource> sources)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 theTaintSources, this method constructs the map correctly starting from a set of sources.-
Methods inherited from class proguard.analysis.cpa.defaults.SimpleCpa
getAbortOperator, 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.Map<Signature,java.util.Set<JvmTaintSource>> signaturesToSources, java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers, java.util.Map<Call,java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations, AbortOperator abortOperator)
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 invokedextraTaintPropagationLocations- a mapping from a specific method call to any jvm state location that is tainted as a result of the callabortOperator- an operator used to stop the analysis prematurely.
-
-
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 theTaintSources, this method constructs the map correctly starting from a set of sources.
-
-