From 510dc885153c6b8f0f26f4820b4a6240be231ea3 Mon Sep 17 00:00:00 2001 From: amiraj Date: Tue, 3 Dec 2019 15:38:23 -0800 Subject: [PATCH] Change in listener --- .../gov/nasa/jpf/listener/ConflictTracker.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/gov/nasa/jpf/listener/ConflictTracker.java b/src/main/gov/nasa/jpf/listener/ConflictTracker.java index 193d2f0..06e6e4a 100644 --- a/src/main/gov/nasa/jpf/listener/ConflictTracker.java +++ b/src/main/gov/nasa/jpf/listener/ConflictTracker.java @@ -196,7 +196,8 @@ public class ConflictTracker extends ListenerAdapter { String value = valueMap.get(i.getVarName()); Integer writer = writerMap.get(i.getVarName()); if ((value != null)&&(writer != null)) { - if (!value.equals(i.getValue())&&!writer.equals(i.getAppNum())) { // We have different values and different writers + if (!value.equals(i.getValue())&&!writer.equals(i.getAppNum())) { + // We have different values and different writers errorMessage = createErrorMessage(i, valueMap, writerMap); return true; } @@ -472,9 +473,16 @@ public class ConflictTracker extends ListenerAdapter { boolean isChanged = updateTheOutSet(parentNode, currentNode); // Check if the outSet of this state has changed, update all of its successors' sets if any - if (isChanged) + if (isChanged) { + for (Node node : currentNode.getSuccessors()) { + HashMap> setSets = currentNode.getOutgoingEdges().get(node).getSetSetMap(); + for (Map.Entry mapElement : setSets.entrySet()) { + Transition currentTransition = (Transition)mapElement.getKey(); + conflictFound = conflictFound || checkForConflict(currentNode, node, currentTransition); + } + } conflictFound = conflictFound || propagateTheChange(currentNode); - + } // Update the parent node if (nodes.containsKey(id)) { parentNode = nodes.get(id); -- 2.34.1