Class SymbolicResult
- java.lang.Object
-
- ru.ispras.microtesk.mmu.test.engine.memory.SymbolicResult
-
public final class SymbolicResult extends java.lang.Object
SymbolicExecutor
represents a result of symbolic execution.
-
-
Constructor Summary
Constructors Constructor Description SymbolicResult(ru.ispras.fortress.solver.constraint.ConstraintEncoder encoder)
SymbolicResult(ru.ispras.fortress.solver.constraint.ConstraintEncoder encoder, SymbolicResult other)
SymbolicResult(SymbolicResult other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
addNode(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)
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.solver.constraint.ConstraintEncoder
getEncoder()
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.data.Variable
getVersion(ru.ispras.fortress.data.Variable originalVariable)
ru.ispras.fortress.data.Variable
getVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
ru.ispras.fortress.expression.Node
getVersion(ru.ispras.fortress.expression.Node node, 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)
-
-
-
Constructor Detail
-
SymbolicResult
public SymbolicResult(ru.ispras.fortress.solver.constraint.ConstraintEncoder encoder)
-
SymbolicResult
public SymbolicResult(ru.ispras.fortress.solver.constraint.ConstraintEncoder encoder, SymbolicResult other)
-
SymbolicResult
public SymbolicResult(SymbolicResult other)
-
-
Method Detail
-
hasConflict
public boolean hasConflict()
-
setConflict
public void setConflict(boolean hasConflict)
-
getEncoder
public ru.ispras.fortress.solver.constraint.ConstraintEncoder getEncoder()
-
getContexts
public java.util.Map<java.lang.Integer,MemoryAccessContext> getContexts()
-
getOriginalVariables
public java.util.Collection<ru.ispras.fortress.data.Variable> getOriginalVariables()
-
containsOriginalVariable
public boolean containsOriginalVariable(ru.ispras.fortress.data.Variable var)
-
addOriginalVariable
public void addOriginalVariable(ru.ispras.fortress.data.Variable var)
-
addOriginalVariables
public void addOriginalVariables(java.util.Collection<ru.ispras.fortress.data.Variable> vars)
-
getConstant
public ru.ispras.fortress.data.types.bitvector.BitVector getConstant(ru.ispras.fortress.data.Variable var)
-
getConstants
public java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector> getConstants()
-
addConstant
public void addConstant(ru.ispras.fortress.data.Variable var, ru.ispras.fortress.data.types.bitvector.BitVector constant)
-
addNode
public void addNode(ru.ispras.fortress.expression.Node formula)
-
getContext
public MemoryAccessContext getContext()
-
getContext
public MemoryAccessContext getContext(int pathIndex)
-
accessBuffer
public void accessBuffer(AccessPath.Entry entry, int pathIndex)
-
updateStack
public MemoryAccessStack.Frame updateStack(AccessPath.Entry entry, int pathIndex)
-
includeOriginalVariables
public void includeOriginalVariables()
-
getOriginal
public ru.ispras.fortress.data.Variable getOriginal(ru.ispras.fortress.data.Variable variable, int pathIndex)
-
getVersion
public ru.ispras.fortress.data.Variable getVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
-
getVersion
public ru.ispras.fortress.expression.Node getVersion(ru.ispras.fortress.expression.Node node, int pathIndex)
-
getVersion
public ru.ispras.fortress.data.Variable getVersion(ru.ispras.fortress.data.Variable originalVariable)
-
getNextVersion
public ru.ispras.fortress.data.Variable getNextVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
-
defineVersion
public void defineVersion(ru.ispras.fortress.data.Variable variable, int pathIndex)
-
getVersionNumber
public int getVersionNumber(ru.ispras.fortress.data.Variable originalVariable)
-
setVersionNumber
public void setVersionNumber(ru.ispras.fortress.data.Variable originalVariable, int versionNumber)
-
-