public final class SymbolicResult
extends java.lang.Object
SymbolicExecutor
represents a result of symbolic execution.Constructor and Description |
---|
SymbolicResult(BitVectorFormulaBuilder builder) |
SymbolicResult(BitVectorFormulaBuilder builder,
SymbolicResult other) |
SymbolicResult(SymbolicResult other) |
Modifier and Type | Method and Description |
---|---|
void |
accessBuffer(AccessPath.Entry entry,
int pathIndex) |
void |
addConstant(ru.ispras.fortress.data.Variable var,
ru.ispras.fortress.data.types.bitvector.BitVector constant) |
void |
addFormula(ru.ispras.fortress.expression.Node formula) |
void |
addOriginalVariable(ru.ispras.fortress.data.Variable var) |
void |
addOriginalVariables(java.util.Collection<ru.ispras.fortress.data.Variable> vars) |
boolean |
containsOriginalVariable(ru.ispras.fortress.data.Variable var) |
void |
defineVersion(ru.ispras.fortress.data.Variable variable,
int pathIndex) |
BitVectorFormulaBuilder |
getBuilder() |
ru.ispras.fortress.data.types.bitvector.BitVector |
getConstant(ru.ispras.fortress.data.Variable var) |
java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector> |
getConstants() |
MemoryAccessContext |
getContext() |
MemoryAccessContext |
getContext(int pathIndex) |
java.util.Map<java.lang.Integer,MemoryAccessContext> |
getContexts() |
ru.ispras.fortress.data.Variable |
getNextVersion(ru.ispras.fortress.data.Variable variable,
int pathIndex) |
ru.ispras.fortress.data.Variable |
getOriginal(ru.ispras.fortress.data.Variable variable,
int pathIndex) |
java.util.Collection<ru.ispras.fortress.data.Variable> |
getOriginalVariables() |
ru.ispras.fortress.expression.Node |
getVersion(ru.ispras.fortress.expression.Node node,
int pathIndex) |
ru.ispras.fortress.data.Variable |
getVersion(ru.ispras.fortress.data.Variable originalVariable) |
ru.ispras.fortress.data.Variable |
getVersion(ru.ispras.fortress.data.Variable variable,
int pathIndex) |
int |
getVersionNumber(ru.ispras.fortress.data.Variable originalVariable) |
boolean |
hasConflict() |
void |
includeOriginalVariables() |
void |
setConflict(boolean hasConflict) |
void |
setVersionNumber(ru.ispras.fortress.data.Variable originalVariable,
int versionNumber) |
MemoryAccessStack.Frame |
updateStack(AccessPath.Entry entry,
int pathIndex) |
public SymbolicResult(BitVectorFormulaBuilder builder)
public SymbolicResult(BitVectorFormulaBuilder builder, SymbolicResult other)
public SymbolicResult(SymbolicResult other)
public boolean hasConflict()
public void setConflict(boolean hasConflict)
public BitVectorFormulaBuilder getBuilder()
public java.util.Map<java.lang.Integer,MemoryAccessContext> getContexts()
public java.util.Collection<ru.ispras.fortress.data.Variable> getOriginalVariables()
public boolean containsOriginalVariable(ru.ispras.fortress.data.Variable var)
public void addOriginalVariable(ru.ispras.fortress.data.Variable var)
public void addOriginalVariables(java.util.Collection<ru.ispras.fortress.data.Variable> vars)
public ru.ispras.fortress.data.types.bitvector.BitVector getConstant(ru.ispras.fortress.data.Variable var)
public java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector> getConstants()
public void addConstant(ru.ispras.fortress.data.Variable var, ru.ispras.fortress.data.types.bitvector.BitVector constant)
public void addFormula(ru.ispras.fortress.expression.Node formula)
public MemoryAccessContext getContext()
public MemoryAccessContext getContext(int pathIndex)
public void accessBuffer(AccessPath.Entry entry, int pathIndex)
public MemoryAccessStack.Frame updateStack(AccessPath.Entry entry, int pathIndex)
public void includeOriginalVariables()
public ru.ispras.fortress.data.Variable getOriginal(ru.ispras.fortress.data.Variable variable, int pathIndex)
public ru.ispras.fortress.data.Variable getVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
public ru.ispras.fortress.expression.Node getVersion(ru.ispras.fortress.expression.Node node, int pathIndex)
public ru.ispras.fortress.data.Variable getVersion(ru.ispras.fortress.data.Variable originalVariable)
public ru.ispras.fortress.data.Variable getNextVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
public void defineVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
public int getVersionNumber(ru.ispras.fortress.data.Variable originalVariable)
public void setVersionNumber(ru.ispras.fortress.data.Variable originalVariable, int versionNumber)