A change in updateTheOutSet in conflict tracker analysis
[jpf-core.git] / src / main / gov / nasa / jpf / listener / ConflictTracker.java
index 697761801bda64e244d88df4323e59e5123c7b21..2ba4eca77a79eef876af31ceac8a11bd52f48763 100644 (file)
@@ -88,15 +88,11 @@ public class ConflictTracker extends ListenerAdapter {
   }
 
   boolean propagateTheChange(Node currentNode) {
-    HashSet<Node> changed = new HashSet<Node>(currentNode.getSuccessors());
+    HashSet<Node> changed = new HashSet<Node>();
     boolean isChanged = false;
 
-    for (Node node : currentNode.getSuccessors()) {
-      isChanged = false;
-      isChanged = updateTheOutSet(currentNode, node);
-      if (isChanged)
-        changed.add(node);
-    }
+    // Add the current node to the changed set
+    changed.add(currentNode);
 
     while(!changed.isEmpty()) {
       // Get the first element of the changed set and remove it
@@ -196,7 +192,6 @@ public class ConflictTracker extends ListenerAdapter {
     Edge edge = parentNode.getOutgoingEdges().get(currentNode);
     HashMap<Transition, ArrayList<NameValuePair>> setSets = edge.getSetSetMap();
     HashSet<String> updatedVarNames = new HashSet<String>();
-    HashSet<String> outSetVarMap = new HashSet<String>();
     boolean isChanged = false;
 
     for (Map.Entry mapElement : setSets.entrySet()) {
@@ -208,7 +203,6 @@ public class ConflictTracker extends ListenerAdapter {
     }
 
     for (NameValuePair i : parentNode.getOutSet()) {
-      outSetVarMap.add(i.getVarName());
       if (!updatedVarNames.contains(i.getVarName()))
         isChanged |= currentNode.getOutSet().add(i);
     }
@@ -216,11 +210,6 @@ public class ConflictTracker extends ListenerAdapter {
     ArrayList<NameValuePair> lastSetSet = setSets.get(edge.getFinalTransition());
 
     for (int i = 0;i < lastSetSet.size();i++) {
-      String var = lastSetSet.get(i).getVarName();
-
-      if (outSetVarMap.contains(var)) {
-        currentNode.getOutSet().remove(lastSetSet.get(i));
-      }
       isChanged |= currentNode.getOutSet().add(lastSetSet.get(i));
     }
     return isChanged;