From 84bab769b729b981b5fe8cd91b182d861df33991 Mon Sep 17 00:00:00 2001 From: Seyed Amir Hossein Aqajari Date: Fri, 6 Dec 2019 14:46:04 -0800 Subject: [PATCH] A change in propagate the change method --- .../nasa/jpf/listener/ConflictTracker.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/main/gov/nasa/jpf/listener/ConflictTracker.java b/src/main/gov/nasa/jpf/listener/ConflictTracker.java index 1cd281d..8c1e2af 100644 --- a/src/main/gov/nasa/jpf/listener/ConflictTracker.java +++ b/src/main/gov/nasa/jpf/listener/ConflictTracker.java @@ -112,11 +112,12 @@ public class ConflictTracker extends ListenerAdapter { isChanged |= updateTheOutSet(node, nodeToProcess); } - // All the changes in parents are propagated + // All the changes in current parents are propagated parentQueueMap.get(nodeToProcess).clear(); - // Check for a conflict if the outSet of nodeToProcess is changed + // Check if the node has changed or not if (isChanged) { + // Check for a conflict in all the transition out of this node for (Node node : nodeToProcess.getSuccessors()) { HashMap> setSets = nodeToProcess.getOutgoingEdges().get(node).getSetSetMap(); for (Map.Entry mapElement : setSets.entrySet()) { @@ -125,23 +126,21 @@ public class ConflictTracker extends ListenerAdapter { return true; } } - } - - // Update the parents list for the successors of the current node - parents.clear(); - parents.add(nodeToProcess); + + // Update the parents list for the successors of the current node + parents.clear(); + parents.add(nodeToProcess); - // Checking if the out set has changed or not(Add its successors to the change list!) - if (isChanged) { - for (Node i : nodeToProcess.getSuccessors()) { + // For all the successors of the current node + for (Node i : nodeToProcess.getSuccessors()) { if (!changed.contains(i)) changed.add(i); - // Update the list of updated parents for the current node - if (parentQueueMap.containsKey(i)) + // Update the list of updated parents for the current node + if (parentQueueMap.containsKey(i)) parentQueueMap.get(i).add(nodeToProcess); - else - parentQueueMap.put(i, parents); + else + parentQueueMap.put(i, parents); } } } -- 2.34.1