projects
/
jpf-core.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c0667b7
)
Change in listener
author
amiraj
<amiraj.95@uci.edu>
Tue, 3 Dec 2019 23:38:23 +0000
(15:38 -0800)
committer
amiraj
<amiraj.95@uci.edu>
Tue, 3 Dec 2019 23:38:23 +0000
(15:38 -0800)
src/main/gov/nasa/jpf/listener/ConflictTracker.java
patch
|
blob
|
history
diff --git
a/src/main/gov/nasa/jpf/listener/ConflictTracker.java
b/src/main/gov/nasa/jpf/listener/ConflictTracker.java
index
193d2f0
..
06e6e4a
100644
(file)
--- 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)) {
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;
}
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
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<Transition, ArrayList<NameValuePair>> 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);
conflictFound = conflictFound || propagateTheChange(currentNode);
-
+ }
// Update the parent node
if (nodes.containsKey(id)) {
parentNode = nodes.get(id);
// Update the parent node
if (nodes.containsKey(id)) {
parentNode = nodes.get(id);