private int choice; // Predecessor choice
private Execution execution; // Predecessor execution
- public Predecessor(int predChoice, Execution predExec) {
+ public Predecessor(Execution predExec, int predChoice) {
choice = predChoice;
execution = predExec;
}
public void recordPredecessor(Execution execution, int choice) {
if (!isRecordedPredecessor(execution, choice)) {
- predecessors.add(new Predecessor(choice, execution));
+ predecessors.add(new Predecessor(execution, choice));
}
}
private void updateBacktrackSetRecursive(Execution execution, int currentChoice,
Execution conflictExecution, int conflictChoice,
ReadWriteSet currRWSet, HashSet<TransitionEvent> visited) {
+ TransitionEvent currTrans = execution.getExecutionTrace().get(currentChoice);
// TODO: THIS IS THE ACCESS SUMMARY
TransitionEvent confTrans = conflictExecution.getExecutionTrace().get(conflictChoice);
// Record this transition into rGraph summary
- currRWSet = rGraph.recordTransitionSummary(confTrans.getStateId(), confTrans, currRWSet);
+ currRWSet = rGraph.recordTransitionSummary(currTrans.getStateId(), confTrans, currRWSet);
// Halt when we have found the first read/write conflicts for all memory locations
if (currRWSet.isEmpty()) {
return;
}
- TransitionEvent currTrans = execution.getExecutionTrace().get(currentChoice);
if (visited.contains(currTrans)) {
return;
}