public class SpfUtil
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static int |
operandNum |
Constructor and Description |
---|
SpfUtil() |
Modifier and Type | Method and Description |
---|---|
static gov.nasa.jpf.symbc.numeric.Expression |
createSPFVariableForType(gov.nasa.jpf.vm.StackFrame sf,
int variable,
java.lang.String varType)
This creates SPF constants depending on the type of the variable.
|
static void |
emptyFolder(java.io.File folder) |
static gov.nasa.jpf.symbc.numeric.Comparator |
getComparator(gov.nasa.jpf.vm.Instruction instruction) |
private static za.ac.sun.cs.green.expr.Expression |
getFirstCond(Stmt stmt) |
static gov.nasa.jpf.symbc.numeric.Comparator |
getNegComparator(gov.nasa.jpf.vm.Instruction instruction) |
static int |
getOperandNumber(java.lang.String instruction)
Returns number of operands depending on the if-bytecode instruction.
|
private static boolean |
isBothSidesFeasible(gov.nasa.jpf.vm.ThreadInfo ti,
gov.nasa.jpf.symbc.numeric.Comparator cmp,
gov.nasa.jpf.symbc.numeric.Comparator negCmp,
gov.nasa.jpf.symbc.numeric.Expression op1,
gov.nasa.jpf.symbc.numeric.Expression op2) |
static boolean |
isIncrementalSolver() |
static boolean |
isStackConsumingRegionEnd(gov.nasa.jpf.vm.ThreadInfo ti,
StaticRegion region,
gov.nasa.jpf.vm.Instruction ins) |
static boolean |
isSymCond(gov.nasa.jpf.vm.ThreadInfo ti,
gov.nasa.jpf.vm.Instruction ins)
Checks if the "if" condition is symbolic based on the the operands of the "if" bytecode instruction.
|
static boolean |
isSymCond(gov.nasa.jpf.vm.ThreadInfo ti,
Stmt stmt,
SlotParamTable slotParamTable,
gov.nasa.jpf.vm.Instruction ins)
Checks if the "if" condition is symbolic by visiting the condition expression of the statement of the staticRegion
|
static void |
maybeParseConstraint(gov.nasa.jpf.symbc.numeric.PathCondition pc) |
public static int getOperandNumber(java.lang.String instruction)
instruction"if"
- bytecode instructionStaticRegionException
public static boolean isSymCond(gov.nasa.jpf.vm.ThreadInfo ti, gov.nasa.jpf.vm.Instruction ins)
ti
- Current ThreadInfo objectins
- Current "if" bytecode instruction.StaticRegionException
private static boolean isBothSidesFeasible(gov.nasa.jpf.vm.ThreadInfo ti, gov.nasa.jpf.symbc.numeric.Comparator cmp, gov.nasa.jpf.symbc.numeric.Comparator negCmp, gov.nasa.jpf.symbc.numeric.Expression op1, gov.nasa.jpf.symbc.numeric.Expression op2)
public static boolean isSymCond(gov.nasa.jpf.vm.ThreadInfo ti, Stmt stmt, SlotParamTable slotParamTable, gov.nasa.jpf.vm.Instruction ins) throws StaticRegionException
ti
- Current ThreadInfo objectstmt
- Statement of the static region.StaticRegionException
private static za.ac.sun.cs.green.expr.Expression getFirstCond(Stmt stmt)
public static gov.nasa.jpf.symbc.numeric.Expression createSPFVariableForType(gov.nasa.jpf.vm.StackFrame sf, int variable, java.lang.String varType) throws StaticRegionException
sf
- Current Stack Framevariable
- Variable number for which we want to create the constant.varType
- The type of which the constant should be created in SPF.StaticRegionException
public static void emptyFolder(java.io.File folder)
public static gov.nasa.jpf.symbc.numeric.Comparator getComparator(gov.nasa.jpf.vm.Instruction instruction)
public static gov.nasa.jpf.symbc.numeric.Comparator getNegComparator(gov.nasa.jpf.vm.Instruction instruction)
public static boolean isStackConsumingRegionEnd(gov.nasa.jpf.vm.ThreadInfo ti, StaticRegion region, gov.nasa.jpf.vm.Instruction ins) throws StaticRegionException
StaticRegionException
public static boolean isIncrementalSolver()
public static void maybeParseConstraint(gov.nasa.jpf.symbc.numeric.PathCondition pc) throws StaticRegionException
StaticRegionException