Public Methods | |
JimpleTrace (BirTrace birTrace) | |
JimpleStore | getLastStore () |
Stmt[] | getStatements () |
JimpleStore | getStore (int stmtIndex) |
TransSystem | getTransSystem () |
String | getTrapName () |
Stmt | getTrapStmt () |
boolean | isComplete () |
boolean | isDepthExceeded () |
boolean | isLimitViolation () |
boolean | isOutOfMemory () |
boolean | isVectorExceeded () |
boolean | isVerified () |
void | print () |
void | print (PrintWriter out, boolean showVars) |
Private Methods | |
String | evalExpr (Expr expr, int stmtIndex) |
Static Private Methods | |
String | pad (Object o, int width) |
Private Attributes | |
boolean | verified |
boolean | completed |
boolean | limitviolation |
boolean | outofmemory |
boolean | depthexceeded |
boolean | vectorexceeded |
Stmt[] | stmts |
String | trapName |
Stmt | trapStmt |
TransSystem | system |
BirTrace | birTrace |
Hashtable | threadOfStmt = new Hashtable() |
int[] | stateIndex |
This class can be used to map the output of a verifier (once interpreted as a sequence of transformations) back to a sequence of actions in the Jimple.
Definition at line 62 of file JimpleTrace.java.
|
Build a JimpleTrace from a BIR trace. Definition at line 105 of file JimpleTrace.java. |
|
Get Jimple Stmts executed in the trace. If a Stmt caused a trap, it will be included as the last element of this array. Definition at line 184 of file JimpleTrace.java. |
|
Get the store at a particular statement.
Definition at line 193 of file JimpleTrace.java. Referenced by print().
|
|
Get the name of the trap (returns null if no trap occurred in trace). Definition at line 202 of file JimpleTrace.java. |
|
Get the Stmt that caused the trap (returns null if no trap in trace). Definition at line 206 of file JimpleTrace.java. |
|
Was the failure due to the checker (e.g., out of memory)? Definition at line 211 of file JimpleTrace.java. |
|
Was the failure due to a checker exceeding its depth bound? Definition at line 215 of file JimpleTrace.java. |
|
Was the failure due to a model resource limit violation? Definition at line 220 of file JimpleTrace.java. |
|
Was the failure due to checker running out of memory? Definition at line 224 of file JimpleTrace.java. |
|
Was the failure due to a checker exceeding its state vector size? Definition at line 228 of file JimpleTrace.java. |
|
Was the property verified (i.e., hold on the model)? Definition at line 233 of file JimpleTrace.java. |
|
Format object in field of given width Definition at line 238 of file JimpleTrace.java. Referenced by print().
|
|
Print a JimpleTrace.
Definition at line 252 of file JimpleTrace.java. |
|
Maps Stmt index to state index in trace. The BIR trace is a sequence of BIR transformations, each of which may contain several actions, and not all actions map back to Jimple Stmts. The BIR trace contains a BirState for each action index (i.e., a starting BirState, and the BirState after each action in the BirTrace). We must be able to retrieve the BirState for a given Jimple Stmt in the trace. The stateIndex array maintains this mapping. The element stateIndex[jimpleStmtNum] gives the index of the BirState of the system in the state just *before* the given Jimple Stmt is executed. For example, suppose the BIR trace contains actions A1,..,A4, but that only A2 and A4 had source statements (call them S1 and S2). Then stateIndex[] would be { 0, 2, 4 }. So stateIndex[1] = 2 since the state of the system after the first Stmt (S1) is the BirState after the second action (A2) is executed. Definition at line 98 of file JimpleTrace.java. |