From: Seyed Amir Hossein Aqajari Date: Mon, 18 Nov 2019 23:47:44 +0000 (-0800) Subject: Minor bug fix in ConflictTracker.java X-Git-Url: http://plrg.eecs.uci.edu/git/?p=jpf-core.git;a=commitdiff_plain;h=f268249692eaebabff7fca979a59fdf415b00867;hp=5b42a3d53e899e629299f1c75c1c880fcb947ec1 Minor bug fix in ConflictTracker.java --- 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)); + } } }