env EmpireAutomatonOG.Timeout=-1 benchexec/../run-test.sh Library-ProofsTest 'de.uni_freiburg.informatik.ultimate.lib.proofs.owickigries.OGProofProducerTest$EmpireAutomatonOG' NoDataRace.18_read_write_lock.ats true -------------------------------------------------------------------------------- Thanks for using JUnit! Support its development at https://junit.org/sponsoring Test plan execution started. Number of static tests: 1 ╷ ├─ JUnit Jupiter └─ JUnit Jupiter finished after 6 ms. ├─ JUnit Vintage │ ├─ EmpireAutomatonOG │ │ ├─ NoDataRace_18_read_write_lock_ats │ │ │ tags: [] │ │ │ uniqueId: [engine:junit-vintage]/[runner:de.uni_freiburg.informatik.ultimate.lib.proofs.owickigries.OGProofProducerTest$EmpireAutomatonOG]/[test:NoDataRace_18_read_write_lock_ats(de.uni_freiburg.informatik.ultimate.lib.proofs.owickigries.OGProofProducerTest$EmpireAutomatonOG)] │ │ │ parent: [engine:junit-vintage]/[runner:de.uni_freiburg.informatik.ultimate.lib.proofs.owickigries.OGProofProducerTest$EmpireAutomatonOG] │ │ │ source: ClassSource [className = 'de.uni_freiburg.informatik.ultimate.lib.proofs.owickigries.OGProofProducerTest$EmpireAutomatonOG', filePosition = null] [WARN]: Using environment timeout: -1ms [INFO]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/adds/z3 [INFO]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/adds/z3 SMTLIB2_COMPLIANT=true -t:1000 -memory:2024 -smt2 -in (exit command is (exit), workingDir is null) [INFO]: [MP /storage/repos/ultimate/releaseScripts/default/adds/z3 SMTLIB2_COMPLIANT=true -t:1000 -memory:2024 -smt2 -in (1)] Waiting until timeout for monitored process [INFO]: Initialized classic predicate unifier [INFO]: Initialized classic predicate unifier [INFO]: Initialized classic predicate unifier [INFO]: Start isDeterministic. Operand 3 states and 203 transitions. [INFO]: Finished isDeterministic. Operand is deterministic. [INFO]: Starting Floyd-Hoare check of an automaton with has 3 states, 3 states have (on average 67.66666666666667) internal successors, (203), 3 states have internal predecessors, (203), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [INFO]: Floyd-Hoare annotation has 203 edges. 203 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [INFO]: Start isDeterministic. Operand 3 states and 174 transitions. [INFO]: Finished isDeterministic. Operand is deterministic. [INFO]: Starting Floyd-Hoare check of an automaton with has 3 states, 3 states have (on average 58.0) internal successors, (174), 3 states have internal predecessors, (174), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [INFO]: Floyd-Hoare annotation has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [INFO]: Start isDeterministic. Operand 3 states and 168 transitions. [INFO]: Finished isDeterministic. Operand is deterministic. [INFO]: Starting Floyd-Hoare check of an automaton with has 3 states, 3 states have (on average 56.0) internal successors, (168), 3 states have internal predecessors, (168), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [INFO]: Floyd-Hoare annotation has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [INFO]: Number of proof automata: 3 [INFO]: 60 / 77 letters are loopers in proof 0 [INFO]: 53 / 77 letters are loopers in proof 1 [INFO]: 53 / 77 letters are loopers in proof 2 [INFO]: Loopers in proof automata: min=53, max=60, median=53 [INFO]: Start finitePrefix. Operand will be constructed on-demand [INFO]: 0/52 cut-off events. [INFO]: For 19/20 co-relation queries the response was YES. [INFO]: Finished finitePrefix Result has 97 conditions, 52 events. 0/52 cut-off events. For 19/20 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 17 event pairs, 0 based on Foata normal form. 5/56 useless extension candidates. Maximal degree in co-relation 0. Up to 15 conditions per place. [INFO]: OwickiGriesTestSuite setup time: 636ms [INFO]: Constructing Owicki-Gries proof for Petri program that has 79 places, 77 transitions, 158 flow. [INFO]: Interfering actions: min=0, max=27, median=0 [INFO]: Computed Owicki-Gries annotation with 1 ghost variables, 5 ghost updates, and overall size 2620 Assertions: l50 : 1#false l52 : 2#false l51 : 13#(or (and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l10 : 16#(and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5)) l54 : 19#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l53 : 28#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l12 : 31#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l56 : 32#false l11 : 41#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l55 : 44#(= v_g_1 1) l14 : 47#(= v_g_1 1) l58 : 48#false l13 : 51#(= v_g_1 1) l57 : 54#(= v_g_1 1) l16 : 57#(= v_g_1 1) l15 : 66#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l59 : 67#false l18 : 68#false l17 : 71#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l19 : 74#(= v_g_1 1) l61 : 79#(or (and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) (= v_g_1 4)) l60 : 82#(= v_g_1 1) l63 : 85#(= v_g_1 1) l62 : 88#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l21 : 97#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l65 : 98#false l20 : 101#(= v_g_1 1) l64 : 110#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l23 : 113#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l67 : 114#false l22 : 115#false l66 : 116#false l25 : 119#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l69 : 120#false l24 : 123#(and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) l68 : 124#false l27 : 125#false l26 : 126#false l29 : 129#(= v_g_1 1) l28 : 130#false l0 : 131#false l70 : 134#(= v_g_1 1) l1 : 137#(= v_g_1 1) l2 : 140#(= v_g_1 1) l72 : 143#(and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5)) l3 : 146#(= v_g_1 1) l71 : 149#(= v_g_1 1) l4 : 152#(= v_g_1 1) l30 : 153#false l74 : 154#false l5 : 157#(= v_g_1 1) l73 : 162#(or (and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) (= v_g_1 4)) l6 : 163#false l32 : 166#(= v_g_1 1) l76 : 169#(= v_g_1 1) l7 : 172#(and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5)) l31 : 175#(and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) l75 : 178#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l8 : 181#(and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) l34 : 184#(and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5)) l78 : 187#(= v_g_1 1) l9 : 190#(= v_g_1 1) l33 : 193#(= v_g_1 1) l77 : 196#(= v_g_1 1) l36 : 199#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l35 : 202#(= v_g_1 1) l38 : 211#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l37 : 214#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l39 : 215#false l41 : 218#(= v_g_1 1) l40 : 219#false l43 : 220#false l42 : 221#false l45 : 230#(or (= v_g_1 4) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 2)) (and (= v_g_1 3) (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (= |thr1Thread1of1ForFork0_#t~nondet2| |#race~x~0|) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0))) (and (<= (+ (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 1) 0) (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 5))) l44 : 233#(= v_g_1 1) l47 : 236#(= v_g_1 1) l46 : 239#(and (not (= (select (select |#pthreadsRwLock| |~#rwlock~0.base|) |~#rwlock~0.offset|) 0)) (= v_g_1 6)) l49 : 242#(= v_g_1 1) l48 : 245#(= v_g_1 1) Ghost Variables (and initial values): v_g_1 : 1 Ghost Updates: [77][16] : (v_g_1) := ((ite (= v_g_1 1) 4 v_g_1)) [39][48] : (v_g_1) := ((ite (= v_g_1 4) 6 v_g_1)) [64][33] : (v_g_1) := ((ite (= v_g_1 4) 5 v_g_1)) [71][40] : (v_g_1) := ((ite (= v_g_1 3) 2 v_g_1)) [68][14] : (v_g_1) := ((ite (= v_g_1 5) 3 v_g_1)) [INFO]: EmpireComputation time [ms]: 1, EmpireComputation statistics: automaton size: 6, number of unique pairs: 6, empire law size: 82, empire annotation size: 88, number of regions: 9, number of territories: 6, Min number of regions per territory: 2, Max number of regions per territory: 3, Median number of regions per territory: 3, Min number of places per region: 1, Max number of places per region: 28, Median number of places per region: 2, Empire validity check time [ms]: 79, EmpireToOwickiGries time [ms]: 65, Owicki-Gries validity check time [ms]: 171 │ │ │ duration: 985 ms │ │ │ status: ✔ SUCCESSFUL │ └─ EmpireAutomatonOG finished after 991 ms. └─ JUnit Vintage finished after 998 ms. ├─ JUnit Platform Suite └─ JUnit Platform Suite finished after 1 ms. Test plan execution finished. Number of all tests: 1  Test run finished after 1031 ms [ 4 containers found ] [ 0 containers skipped ] [ 4 containers started ] [ 0 containers aborted ] [ 4 containers successful ] [ 0 containers failed ] [ 1 tests found ] [ 0 tests skipped ] [ 1 tests started ] [ 0 tests aborted ] [ 1 tests successful ] [ 0 tests failed ]