From f268249692eaebabff7fca979a59fdf415b00867 Mon Sep 17 00:00:00 2001 From: Seyed Amir Hossein Aqajari Date: Mon, 18 Nov 2019 15:47:44 -0800 Subject: [PATCH] Minor bug fix in ConflictTracker.java --- src/main/gov/nasa/jpf/listener/ConflictTracker.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/gov/nasa/jpf/listener/ConflictTracker.java b/src/main/gov/nasa/jpf/listener/ConflictTracker.java index ca405b2..b5c8d08 100644 --- a/src/main/gov/nasa/jpf/listener/ConflictTracker.java +++ b/src/main/gov/nasa/jpf/listener/ConflictTracker.java @@ -172,11 +172,14 @@ public class ConflictTracker extends ListenerAdapter { boolean updateEdge(Node parentNode, Node currentNode) { ArrayList setSet = currentNode.getSetSetMap().get(parentNode); HashSet updatedVarNames = new HashSet(); + HashMap writerLastValue = new HashMap(); + boolean isChanged = false; if (setSet != null) { for (int i = 0;i < setSet.size();i++) { updatedVarNames.add(setSet.get(i).getVarName()); + writerLastValue.put(setSet.get(i).getAppNum(), setSet.get(i).getValue()); } } @@ -187,9 +190,9 @@ public class ConflictTracker extends ListenerAdapter { if (setSet != null) { for (int i = 0;i < setSet.size();i++) { - if (currentNode.getOutSet().contains(setSet.get(i))) - currentNode.getOutSet().remove(setSet.get(i)); - isChanged |= currentNode.getOutSet().add(setSet.get(i)); + if (setSet.get(i).getValue().equals(writerLastValue.get(setSet.get(i).getAppNum()))) { + isChanged |= currentNode.getOutSet().add(setSet.get(i)); + } } } -- 2.34.1