public final class MemoryEngineUtils
extends java.lang.Object
MemoryEngineUtils
implements utilities used in the memory engine.Modifier and Type | Method and Description |
---|---|
static java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector> |
generateData(Access access,
java.util.Collection<ru.ispras.fortress.expression.Node> conditions,
java.util.Collection<ru.ispras.fortress.expression.Node> constraints,
BitVectorVariableInitializer initializer) |
static boolean |
isDisabledTransition(MmuTransition transition) |
static boolean |
isFeasibleAccess(Access access) |
static boolean |
isFeasibleEntry(AccessPath.Entry entry,
MemoryAccessType type,
AccessConstraints constraints,
SymbolicResult partialResult) |
static boolean |
isFeasibleStructure(java.util.List<Access> structure) |
static boolean |
isValidTransition(MmuTransition transition,
MemoryAccessType type) |
static BitVectorFormulaBuilder |
newFormulaBuilder() |
static Solver<java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector>> |
newSolver(BitVectorFormulaBuilder builder,
BitVectorVariableInitializer initializer) |
static SymbolicExecutor |
newSymbolicExecutor(RegionSettings region) |
static SymbolicExecutor |
newSymbolicExecutor(RegionSettings region,
SymbolicResult result) |
static SymbolicRestrictor |
newSymbolicRestrictor(RegionSettings region) |
static SymbolicResult |
newSymbolicResult() |
public static boolean isValidTransition(MmuTransition transition, MemoryAccessType type)
public static boolean isDisabledTransition(MmuTransition transition)
public static boolean isFeasibleEntry(AccessPath.Entry entry, MemoryAccessType type, AccessConstraints constraints, SymbolicResult partialResult)
public static boolean isFeasibleAccess(Access access)
public static java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector> generateData(Access access, java.util.Collection<ru.ispras.fortress.expression.Node> conditions, java.util.Collection<ru.ispras.fortress.expression.Node> constraints, BitVectorVariableInitializer initializer)
public static boolean isFeasibleStructure(java.util.List<Access> structure)
public static BitVectorFormulaBuilder newFormulaBuilder()
public static SymbolicResult newSymbolicResult()
public static SymbolicRestrictor newSymbolicRestrictor(RegionSettings region)
public static SymbolicExecutor newSymbolicExecutor(RegionSettings region)
public static SymbolicExecutor newSymbolicExecutor(RegionSettings region, SymbolicResult result)
public static Solver<java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector>> newSolver(BitVectorFormulaBuilder builder, BitVectorVariableInitializer initializer)