From: rtrimana Date: Wed, 16 Oct 2019 23:40:04 +0000 (-0700) Subject: More subtle changes to config file and state reducer listener. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=jpf-core.git;a=commitdiff_plain;h=25c8d0ae2031d81ebb4a4a549eabd5a844ef392f More subtle changes to config file and state reducer listener. --- diff --git a/main.jpf b/main.jpf index 9ef7754..89d4f48 100644 --- a/main.jpf +++ b/main.jpf @@ -1,8 +1,10 @@ target = main +#target = Rand # This is the listener that can detect variable write-after-write conflicts -#listener=gov.nasa.jpf.listener.VariableConflictTracker -listener=gov.nasa.jpf.listener.StateReducer +listener=gov.nasa.jpf.listener.VariableConflictTracker +#listener=gov.nasa.jpf.listener.StateReducer +#listener=gov.nasa.jpf.listener.StateReducerOld #listener=gov.nasa.jpf.listener.VariableConflictTracker,gov.nasa.jpf.listener.StateReducer # Potentially conflicting variables @@ -40,8 +42,8 @@ activate_state_reduction=true # Timeout in minutes (default is 0 which means no timeout) timeout=30 -search.class = gov.nasa.jpf.search.heuristic.RandomHeuristic -search.heuristic.beam_search=true +#search.class = gov.nasa.jpf.search.heuristic.RandomHeuristic +#search.heuristic.beam_search=true #search.class = gov.nasa.jpf.search.heuristic.UserHeuristic #search.class = gov.nasa.jpf.search.heuristic.BFSHeuristic #search.class = gov.nasa.jpf.search.heuristic.DFSHeuristic diff --git a/src/main/gov/nasa/jpf/listener/StateReducer.java b/src/main/gov/nasa/jpf/listener/StateReducer.java index e594c28..5744868 100644 --- a/src/main/gov/nasa/jpf/listener/StateReducer.java +++ b/src/main/gov/nasa/jpf/listener/StateReducer.java @@ -389,8 +389,8 @@ public class StateReducer extends ListenerAdapter { // 1) Check for conflicts with Write fields for both Read and Write instructions // 2) Check for conflicts with Read fields for Write instructions if (((nextInsn instanceof WriteInstruction || nextInsn instanceof ReadInstruction) && - rwSet.writeFieldExists(fieldClass)) || - (nextInsn instanceof WriteInstruction && rwSet.readFieldExists(fieldClass))) { + rwSet.writeFieldExists(fieldClass)) || + (nextInsn instanceof WriteInstruction && rwSet.readFieldExists(fieldClass))) { // We do not record and service the same backtrack pair/point twice! // If it has been serviced before, we just skip this if (recordConflictPair(choiceCounter, eventNumber)) {