Path: . Working Copy Root Path: /usa/svn/work/civl/1.5/r2745 URL: svn://vsl.cis.udel.edu/civl/tags/1.5 Relative URL: ^/tags/1.5 Repository Root: svn://vsl.cis.udel.edu/civl Repository UUID: fb995dde-84ed-4084-dfe6-e5aef3e2452c Revision: 2745 Node Kind: directory Schedule: normal Last Changed Author: zmanchun Last Changed Rev: 2745 Last Changed Date: 2015-11-11 10:00:18 -0500 (Wed, 11 Nov 2015)
Stdout:
Buildfile: /usa/svn/work/civl/1.5/r2745/build.xml
checkCommandParserChanges:
CommandParser:
[move] Moving 1 file to /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/common
[move] Moving 1 file to /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/common
[move] Moving 1 file to /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/common
[move] Moving 1 file to /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/common
compile:
[mkdir] Created dir: /usa/svn/work/civl/1.5/r2745/bin
[javac] Compiling 447 source files to /usa/svn/work/civl/1.5/r2745/bin
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/state/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/common/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/kripke/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/seq/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/time/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/model/IF/type/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/dynamic/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/pointer/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/model/IF/expression/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/concurrency/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/util/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/pthread/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/predicate/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/bundle/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/transform/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/model/IF/variable/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/gui/common/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/config/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/string/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/model/IF/statement/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/asserts/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/domain/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/gui/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/scope/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/model/IF/location/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/model/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/run/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/comm/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/analysis/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/library/civlc/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/semantics/IF/package-info.class
[javac] Creating empty /usa/svn/work/civl/1.5/r2745/bin/edu/udel/cis/vsl/civl/log/IF/package-info.class
[copy] Copying 24 files to /usa/svn/work/civl/1.5/r2745/bin/include
jar:
[jar] Building jar: /usa/svn/work/civl/1.5/r2745/civl.jar
test-init:
[mkdir] Created dir: /usa/svn/work/civl/1.5/r2745/junit
[mkdir] Created dir: /usa/svn/work/civl/1.5/r2745/junit/data
[mkdir] Created dir: /usa/svn/work/civl/1.5/r2745/junit/reports
[mkdir] Created dir: /usa/svn/work/civl/1.5/r2745/bin-test/regress
test-compile:
[javac] Compiling 25 source files to /usa/svn/work/civl/1.5/r2745/bin-test/regress
test-run:
[jacoco:coverage] Enhancing junit with coverage
[junit] Testsuite: edu.udel.cis.vsl.civl.AnalysisTest
[junit] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.285 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === unreached code ===
[junit] unreached.c:1.29-32 "(a)" from unreached.c:6.8-11 "MAX" from unreached.c:6.4-17 "a = (((a)>=( 1))?(a):( 1))"
[junit] unreached.c:7.21-24 "100" from unreached.c:7.4-24 "a = a < 5 ? 10 : 100"
[junit] unreached.c:11.8-11 "a=2"
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -showUnreached=true -analyze_abs=false examples/analysis/unreached.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.77
[junit] memory (bytes) : 155713536
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 4
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === abs call analysis ===
[junit] -:N 0:Y +:N abs.c:14.4-12 "a=abs(0)"
[junit] -:Y 0:N +:N abs.c:15.4-12 "a=abs(x)"
[junit] -:N 0:N +:Y abs.c:16.4-12 "a=abs(y)"
[junit] -:Y 0:Y +:Y abs.c:17.4-12 "a=abs(z)"
[junit] -:Y 0:N +:Y abs.c:18.4-12 "a=abs(k)"
[junit] -:Y 0:Y +:Y abs.c:19.4-16 "a=abs(x*y*z)"
[junit] -:Y 0:N +:Y abs.c:20.4-16 "a=abs(x*y*k)"
[junit] -:Y 0:N +:N abs.c:21.4-14 "a=abs(x*y)"
[junit] -:Y 0:Y +:N abs.c:24.4-16 "a=abs(y%2-1)"
[junit] -:Y 0:N +:N abs.c:25.4-16 "a=abs(y%2-2)"
[junit]
[junit] +: argument > 0
[junit] -: argument < 0
[junit] 0: argument = 0
[junit] Y: at least one
[junit] N: never
[junit] ?: unknown
[junit]
[junit] === Command ===
[junit] civl verify -analyze_abs=true -showUnreached=false examples/analysis/abs.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.12
[junit] memory (bytes) : 223346688
[junit] max process count : 1
[junit] states : 169
[junit] states saved : 99
[junit] state matches : 0
[junit] transitions : 168
[junit] trace steps : 85
[junit] valid calls : 426
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 254
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === abs call analysis ===
[junit] -:? 0:? +:? abs2.c:22.11-17 "abs(v)"
[junit] -:? 0:? +:? abs2.c:38.11-17 "abs(v)"
[junit] -:? 0:? +:? abs2.c:26.11-17 "abs(v)"
[junit] -:Y 0:? +:Y abs2.c:14.11-17 "abs(v)"
[junit] -:? 0:N +:? abs2.c:30.11-17 "abs(v)"
[junit] -:? 0:N +:? abs2.c:34.11-17 "abs(v)"
[junit] -:? 0:? +:? abs2.c:18.11-17 "abs(v)"
[junit]
[junit] +: argument > 0
[junit] -: argument < 0
[junit] 0: argument = 0
[junit] Y: at least one
[junit] N: never
[junit] ?: unknown
[junit]
[junit] === Command ===
[junit] civl verify -analyze_abs=true -showUnreached=false examples/analysis/abs2.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.19
[junit] memory (bytes) : 223346688
[junit] max process count : 1
[junit] states : 553
[junit] states saved : 276
[junit] state matches : 0
[junit] transitions : 552
[junit] trace steps : 267
[junit] valid calls : 989
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 368
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.ArithmeticTest
[junit] Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.213 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/derivative.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.15
[junit] memory (bytes) : 223346688
[junit] max process count : 1
[junit] states : 76
[junit] states saved : 33
[junit] state matches : 0
[junit] transitions : 75
[junit] trace steps : 28
[junit] valid calls : 150
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 11
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputBOUND=3 examples/arithmetic/matmat.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 1.37
[junit] memory (bytes) : 226492416
[junit] max process count : 1
[junit] states : 13357
[junit] states saved : 2521
[junit] state matches : 0
[junit] transitions : 13356
[junit] trace steps : 2378
[junit] valid calls : 8585
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 46
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/algebra.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 226492416
[junit] max process count : 1
[junit] states : 16
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 15
[junit] trace steps : 1
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: DIVISION_BY_ZERO, certainty: PROVEABLE)
[junit] at divisionBad.cvl:12.13-16 "x/y":
[junit] division by zero where divisor: y=X1
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at divisionBad.cvl:12.2-16 "double z = x/y"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/divisionBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/divisionBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 226492416
[junit] max process count : 0
[junit] states : 2
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 0
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/divisionBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at sqrtBad1.cvl:11.2-18 "assert(y >= 1.1)":
[junit]
[junit] Input variables:
[junit] x=0
[junit] Assertion: assert((1.1<=y))
[junit] -> 11/10<=1
[junit] -> false
[junit]
[junit] Context:
[junit] 0==SQRT(0)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at sqrtBad1.cvl:11.2-8 "assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/sqrtBad1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/sqrtBad1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.6
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 10
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 11
[junit] trace steps : 2
[junit] valid calls : 10
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/sqrtBad1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Argument x should be greater than 0.
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at math.cvl:907.2-57 "$assert(x >= 0, ... )":
[junit]
[junit] Input variables:
[junit] x=X0
[junit] Assertion: $assert((0.0<=x), &((_anon_0)[0]))
[junit] -> 0<=X0
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] sqrt at math.cvl:907.2-9 "$assert" called from
[junit] _CIVL_system at sqrtBad2.cvl:7.13-17 "sqrt"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/sqrtBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/sqrtBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.38
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 2
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/sqrtBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 4:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at sqrtBad1.cvl:11.2-18 "assert(y >= 1.1)":
[junit]
[junit] Input variables:
[junit] x=X0
[junit] Assertion: assert((1.1<=y))
[junit] -> 11/10<=1
[junit] -> false
[junit]
[junit] Context:
[junit] (0==X0) && (0<=X0)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at sqrtBad1.cvl:11.2-8 "assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/sqrtBad1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DMATH_ELABORATE_ASSUMPTIONS examples/arithmetic/sqrtBad1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.36
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 3
[junit] valid calls : 12
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/sqrtBad1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/laplace.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.11
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 193
[junit] states saved : 46
[junit] state matches : 0
[junit] transitions : 192
[junit] trace steps : 45
[junit] valid calls : 222
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254141297 ...
[junit] Error 0:
[junit] CIVL execution violation in p0 (id = 0) (kind: DIVISION_BY_ZERO, certainty: PROVEABLE)
[junit] at div0.cvl:3.10-13 "1/0":
[junit] division by zero where divisor: 0=0
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at div0.cvl:3.2-13 "int x = 1/0"
[junit]
[junit] Trace ends after 1 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl run examples/arithmetic/div0.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 353894400
[junit] max process count : 0
[junit] states : 1
[junit] states Saved : 1
[junit] seed : 1447254141297
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] verify -echo examples/arithmetic/mathematical.cvl
[junit]
[junit] y=1
[junit] z=1
[junit]
[junit] === Command ===
[junit] civl verify -echo examples/arithmetic/mathematical.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.62
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 16
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 15
[junit] trace steps : 5
[junit] valid calls : 11
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=10 examples/arithmetic/mean.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.22
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 263
[junit] states saved : 104
[junit] state matches : 0
[junit] transitions : 262
[junit] trace steps : 85
[junit] valid calls : 279
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 37
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/sqrt.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 1.0
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 52
[junit] states saved : 17
[junit] state matches : 0
[junit] transitions : 51
[junit] trace steps : 16
[junit] valid calls : 33
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=10 examples/arithmetic/assoc.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.2
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 74
[junit] states saved : 56
[junit] state matches : 0
[junit] transitions : 73
[junit] trace steps : 37
[junit] valid calls : 130
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 38
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/division.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 353894400
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 119:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at matmatBad.cvl:68.6-35 "$assert((C[i][j ... )":
[junit]
[junit] Input variables:
[junit] BOUND=3
[junit] L=3
[junit] M=3
[junit] N=3
[junit] TILE_SIZE=2
[junit] A=(real[3][3])X4
[junit] B=(real[3][3])X5
[junit] Assertion: $assert((((C)[i])[j]==((D)[i])[j]))
[junit] -> X4[0][1]*X5[1][0]+X4[0][2]*X5[2][0]+X4[0][0]*X5[0][0]==X4[0][1]*X5[1][0]+X4[0][0]*X5[0][0]
[junit] -> 0==X4[0][2]*X5[2][0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at matmatBad.cvl:68.6-13 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/matmatBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -inputBOUND=3 examples/arithmetic/matmatBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.35
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 567
[junit] states saved : 127
[junit] state matches : 0
[junit] transitions : 567
[junit] trace steps : 118
[junit] valid calls : 570
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 42
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/matmatBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 31:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=10
[junit] a=(real[10])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/10*X1[1]+1/10*X1[2]+1/10*X1[3]+1/10*X1[4]+1/10*X1[5]+1/10*X1[6]+1/10*X1[7]+1/10*X1[8]+1/10*X1[9]+1/10*X1[0]==1/10*X1[9]
[junit] -> 0==X1[1]+X1[2]+X1[3]+X1[4]+X1[5]+X1[6]+X1[7]+X1[8]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/meanBad_0.trace
[junit] Restricting search depth to 30
[junit]
[junit] Violation 1 encountered at depth 29:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=9
[junit] a=(real[9])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/9*X1[1]+1/9*X1[2]+1/9*X1[3]+1/9*X1[4]+1/9*X1[5]+1/9*X1[6]+1/9*X1[7]+1/9*X1[8]+1/9*X1[0]==1/9*X1[8]
[junit] -> 0==X1[1]+X1[2]+X1[3]+X1[4]+X1[5]+X1[6]+X1[7]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (29) is less than length of old (31): replacing old with new...
[junit] Restricting search depth to 28
[junit]
[junit] Violation 2 encountered at depth 26:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=8
[junit] a=(real[8])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/8*X1[1]+1/8*X1[2]+1/8*X1[3]+1/8*X1[4]+1/8*X1[5]+1/8*X1[6]+1/8*X1[7]+1/8*X1[0]==1/8*X1[7]
[junit] -> 0==X1[1]+X1[2]+X1[3]+X1[4]+X1[5]+X1[6]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (26) is less than length of old (29): replacing old with new...
[junit] Restricting search depth to 25
[junit]
[junit] Violation 3 encountered at depth 23:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=7
[junit] a=(real[7])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/7*X1[1]+1/7*X1[2]+1/7*X1[3]+1/7*X1[4]+1/7*X1[5]+1/7*X1[6]+1/7*X1[0]==1/7*X1[6]
[junit] -> 0==X1[1]+X1[2]+X1[3]+X1[4]+X1[5]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (23) is less than length of old (26): replacing old with new...
[junit] Restricting search depth to 22
[junit]
[junit] Violation 4 encountered at depth 20:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=6
[junit] a=(real[6])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/6*X1[1]+1/6*X1[2]+1/6*X1[3]+1/6*X1[4]+1/6*X1[5]+1/6*X1[0]==1/6*X1[5]
[junit] -> 0==X1[1]+X1[2]+X1[3]+X1[4]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (20) is less than length of old (23): replacing old with new...
[junit] Restricting search depth to 19
[junit]
[junit] Violation 5 encountered at depth 17:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=5
[junit] a=(real[5])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/5*X1[1]+1/5*X1[2]+1/5*X1[3]+1/5*X1[4]+1/5*X1[0]==1/5*X1[4]
[junit] -> 0==X1[1]+X1[2]+X1[3]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (17) is less than length of old (20): replacing old with new...
[junit] Restricting search depth to 16
[junit]
[junit] Violation 6 encountered at depth 14:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=4
[junit] a=(real[4])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/4*X1[1]+1/4*X1[2]+1/4*X1[3]+1/4*X1[0]==1/4*X1[3]
[junit] -> 0==X1[1]+X1[2]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (14) is less than length of old (17): replacing old with new...
[junit] Restricting search depth to 13
[junit]
[junit] Violation 7 encountered at depth 11:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=3
[junit] a=(real[3])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/3*X1[1]+1/3*X1[2]+1/3*X1[0]==1/3*X1[2]
[junit] -> 0==X1[1]+X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (11) is less than length of old (14): replacing old with new...
[junit] Restricting search depth to 10
[junit]
[junit] Violation 8 encountered at depth 8:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at meanBad.cvl:30.2-29 "$assert((result1==result2))":
[junit]
[junit] Input variables:
[junit] B=10
[junit] n=2
[junit] a=(real[2])X1
[junit] Assertion: $assert((result1==result2))
[junit] -> 1/2*X1[1]+1/2*X1[0]==1/2*X1[1]
[junit] -> 0==X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at meanBad.cvl:30.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (8) is less than length of old (11): replacing old with new...
[junit] Restricting search depth to 7
[junit]
[junit] === Command ===
[junit] civl verify -inputB=10 -min examples/arithmetic/meanBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.31
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 263
[junit] states saved : 104
[junit] state matches : 0
[junit] transitions : 262
[junit] trace steps : 85
[junit] valid calls : 288
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 46
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/meanBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/diffusion.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 71
[junit] states saved : 37
[junit] state matches : 0
[junit] transitions : 70
[junit] trace steps : 36
[junit] valid calls : 22
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -DMATH_ELABORATE_ASSUMPTIONS examples/arithmetic/sqrt.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.71
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 60
[junit] states saved : 21
[junit] state matches : 0
[junit] transitions : 59
[junit] trace steps : 19
[junit] valid calls : 46
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 9
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/quadratic1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 1
[junit] valid calls : 8
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 10
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] X=(X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8)/(X5*X6*X7), Y=(-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8)/(X6*X7), Z=(-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+-1*(((-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X6*X7))*X6*X7)+X1*X6*X7+X2*X7+X3+X8)/X7, W=-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+-1*(((-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X6*X7))*X6*X7)+X1*X6*X7+-1*(((-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+-1*(((-1*(((X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X5*X6*X7))*X5*X6*X7)+X0*X5*X6*X7+X1*X6*X7+X2*X7+X3+X8) div (X6*X7))*X6*X7)+X1*X6*X7+X2*X7+X3+X8) div X7)*X7)+X2*X7+X3+X8
[junit]
[junit] === Command ===
[junit] civl verify examples/arithmetic/quadratic2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.48
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 35
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 34
[junit] trace steps : 2
[junit] valid calls : 33
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 38
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Argument x should be greater than 0.
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at math.cvl:907.2-57 "$assert(x >= 0, ... )":
[junit]
[junit] Input variables:
[junit] x=X0
[junit] Assertion: $assert((0.0<=x), &((_anon_0)[0]))
[junit] -> 0<=X0
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] sqrt at math.cvl:907.2-9 "$assert" called from
[junit] _CIVL_system at sqrtBad2.cvl:7.13-17 "sqrt"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/sqrtBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DMATH_ELABORATE_ASSUMPTIONS examples/arithmetic/sqrtBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.15
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 2
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/sqrtBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 16:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at sqrt.cvl:12.4-21 "$assert((y == 1))":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] x=X2
[junit] Assertion: $assert((y==1.0))
[junit] -> SQRT(X2)+1==1
[junit] -> 0==SQRT(X2)
[junit]
[junit] Context:
[junit] (0==X2) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _gen_main at sqrt.cvl:12.4-11 "$assert" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before sqrt.cvl:8.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/sqrt_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DMATH_NO_ASSUMPTIONS examples/arithmetic/sqrt.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.69
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 46
[junit] states saved : 16
[junit] state matches : 0
[junit] transitions : 47
[junit] trace steps : 15
[junit] valid calls : 36
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/sqrt_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] verify -echo examples/arithmetic/multiplicationInLoopCondition.cvl
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -echo examples/arithmetic/multiplicationInLoopCondition.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.21
[junit] memory (bytes) : 505413632
[junit] max process count : 1
[junit] states : 30
[junit] states saved : 19
[junit] state matches : 0
[junit] transitions : 29
[junit] trace steps : 15
[junit] valid calls : 52
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 41
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.BackendTest
[junit] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.561 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //======================== civlc.cvh =======================
[junit] typedef struct $proc $proc;
[junit] typedef struct $scope $scope;
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] int $next_time_count(void);
[junit] void* $malloc($scope s, int size);
[junit] void $free(void* p);
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] int $next_time_count(void);
[junit] void* $malloc($scope s, int size);
[junit] void $free(void* p);
[junit] //====================== showTrans.cvl =====================
[junit] $abstract int random(int x, int y);
[junit] typedef struct point{
[junit] int x;
[junit] int y;
[junit] } point_t;
[junit] int times2(int k, int t)
[junit] {
[junit] return (2 * k) * t;
[junit] }
[junit] void f()
[junit] {
[junit] $atomic
[junit] {
[junit] int x = 0;
[junit] x = x + 1;
[junit] }
[junit] }
[junit] point_t reverse(point_t old)
[junit] {
[junit] point_t new;
[junit] new.x = old.y;
[junit] new.y = old.x;
[junit] return new;
[junit] }
[junit] void main()
[junit] {
[junit] int a = 2;
[junit] int* b = &(a);
[junit] (void (void))* g = &(f);
[junit] $proc p = $spawn g();
[junit] int c[2][2];
[junit] $domain(2) dom = ($domain(2)){1 .. 4 # 2, 1 .. 4 # 2};
[junit] point_t pt;
[junit] double db;
[junit] int $sef$2;
[junit] if(a > 0)
[junit] {
[junit] int $sef$0 = times2(3, a * 5);
[junit] $sef$2 = $sef$0;
[junit] }
[junit] else
[junit] {
[junit] int $sef$1 = times2(a, a + 6);
[junit] $sef$2 = $sef$1;
[junit] }
[junit] a = $sef$2;
[junit] db = (double)a;
[junit] pt.x = 1;
[junit] pt.y = pt.x + 5;
[junit] struct point $sef$3 = reverse(pt);
[junit] pt.x = $sef$3.x;
[junit] $wait(p);
[junit] p = $spawn g();
[junit] $wait(p);
[junit] a = random(a, a + 2);
[junit] a = times2(a * a, a);
[junit] a = $next_time_count();
[junit] *b = $next_time_count();
[junit] a = -(a + ((*b) * 6));
[junit] $for(int i, j: dom)
[junit] c[(i - 1) / 2][(j - 1) / 2] = (i * 10) + j;
[junit] $assert($forall {int i | (i >= 0) && (i < 2)} (c[i][i]) >= 0);
[junit] $assert($exists {int i | (i >= 0) && (i < 2)} (c[i][i]) >= 0);
[junit] dom = ($domain(2)){0 .. 1, 0 .. 1};
[junit] $parfor(int i, j: dom)
[junit] times2(i, j);
[junit] *b = *(&(c[0][0])) + 1;
[junit] b = (int*)($malloc($root, sizeof(int) * 2));
[junit] b[0] = c[0][0];
[junit] b[1] = c[1][1];
[junit] $free(b);
[junit] }
[junit]
[junit] State 0, p0:
[junit] 0->1: a=2 at showTrans.cvl:31.2-9 "int a=2"
[junit] --> State 1
[junit] State 1, p0:
[junit] 1->2: b=&<d1>a at showTrans.cvl:32.2-11 "int *b=&a"
[junit] 2->3: g=f [g:=&<d0>f()] at showTrans.cvl:33.2-20 "void (*g)(void) ... f"
[junit] 3->4: p=$spawn f() [p:=p1] at showTrans.cvl:34.2-20 "$proc p=$spawn g()"
[junit] 4->5: c=InitialValue(c) [c:=(int[2][2])X_s1v5p0] at showTrans.cvl:35.2-13 "int c[2][2]"
[junit] 5->6: dom=($domain(2)){(1..4#2), (1..4#2)} at showTrans.cvl:36.2-49 "$domain(2) dom=($domain ... }"
[junit] 6->7: pt=InitialValue(pt) [pt:=(point)X_s1v7p0] at showTrans.cvl:37.2-12 "point_t pt"
[junit] --> State 2
[junit] State 2, p0:
[junit] 7->8: TRUE_BRANCH_IF(0<2) at showTrans.cvl:40.4-5 "a"
[junit] --> State 3
[junit] State 3, p0:
[junit] 8->42: $sef$0=times2(3, 2*5) at showTrans.cvl:40.8-22 "times2(3, a*5)"
[junit] --> State 4
[junit] State 4, p0:
[junit] 42->RET: times2(...) return (2*3)*10 [$sef$0:=60] at showTrans.cvl:11.2-15 "return 2*k*t;"
[junit] 9->10: $sef$2=60 at showTrans.cvl:40.4-37 "a>0?times2(3, ... )"
[junit] --> State 5
[junit] State 5, p0:
[junit] 10->11: a=60 at showTrans.cvl:40.2-37 "a=a>0?times2(3 ... )"
[junit] --> State 6
[junit] State 6, p0:
[junit] 11->12: db=($real)60 [db:=60] at showTrans.cvl:41.2-14 "db=(double)a"
[junit] 12->13: (pt).x=1 at showTrans.cvl:42.2-8 "pt.x=1"
[junit] 13->14: (pt).y=1+5 [(pt).y:=6] at showTrans.cvl:43.2-13 "pt.y=pt.x+5"
[junit] 14->48: $sef$3=reverse((point){.x=1, .y=6}) at showTrans.cvl:44.7-18 "reverse(pt)"
[junit] --> State 7
[junit] State 7, p0:
[junit] 48->49: new=InitialValue(new) [new:=(point)X_s2v1p0] at showTrans.cvl:23.2-13 "point_t new"
[junit] 49->50: (new).x=6 at showTrans.cvl:25.2-13 "new.x=old.y"
[junit] 50->51: (new).y=1 at showTrans.cvl:26.2-13 "new.y=old.x"
[junit] 51->RET: reverse(...) return (point){.x=6, .y=1} [$sef$3:=(point){.x=6, .y=1}] at showTrans.cvl:27.2-13 "return new;"
[junit] 15->16: (pt).x=6 at showTrans.cvl:44.2-20 "pt.x=reverse(pt).x"
[junit] --> State 8
[junit] State 8, p1:
[junit] 43->44: ENTER_ATOMIC (_atomic_lock_var = $self, atomicCount++) at showTrans.cvl:15.2-9 "$atomic"
[junit] 44->45: x=0 at showTrans.cvl:16.2-9 "int x=0"
[junit] 45->46: x=0+1 [x:=1] at showTrans.cvl:18.2-5 "x++"
[junit] 46->47: LEAVE_ATOMIC (_atomic_lock_var = process<-1>, atomicCount--) at showTrans.cvl:19.2-3 "}"
[junit] 47->RET: f(...) return at showTrans.cvl:20.0-1 "}"
[junit] --> State 9
[junit] State 9, p0:
[junit] 16->17: $wait(p1) at showTrans.cvl:45.2-10 "$wait(p)"
[junit] 17->18: p=$spawn f() [p:=p2] at showTrans.cvl:46.2-14 "p=$spawn g()"
[junit] --> State 10
[junit] State 10, p1:
[junit] 43->44: ENTER_ATOMIC (_atomic_lock_var = $self, atomicCount++) at showTrans.cvl:15.2-9 "$atomic"
[junit] 44->45: x=0 at showTrans.cvl:16.2-9 "int x=0"
[junit] 45->46: x=0+1 [x:=1] at showTrans.cvl:18.2-5 "x++"
[junit] 46->47: LEAVE_ATOMIC (_atomic_lock_var = process<-1>, atomicCount--) at showTrans.cvl:19.2-3 "}"
[junit] 47->RET: f(...) return at showTrans.cvl:20.0-1 "}"
[junit] --> State 11
[junit] State 11, p0:
[junit] 18->19: $wait(p1) at showTrans.cvl:47.2-10 "$wait(p)"
[junit] --> State 12
[junit] State 12, p0:
[junit] 19->20: a=random(60, (60+2)) [a:=random(60,62)] at showTrans.cvl:48.2-18 "a=random(a, a+ ... )"
[junit] --> State 13
[junit] State 13, p0:
[junit] 20->42: a=times2(random(60,62)*random(60,62), random(60,62)) at showTrans.cvl:49.2-18 "a=times2(a*a, ... )"
[junit] --> State 14
[junit] State 14, p0:
[junit] 42->RET: times2(...) return (2*random(60,62)^2)*random(60,62) [a:=2*(random(60,62)^3)] at showTrans.cvl:11.2-15 "return 2*k*t;"
[junit] --> State 15
[junit] State 15, p0:
[junit] 21->22: a=$next_time_count() [a:=0] at showTrans.cvl:50.2-22 "a=$next_time_count()"
[junit] --> State 16
[junit] State 16, p0:
[junit] 22->23: *(&<d1>a)=$next_time_count() [*(&<d1>a):=1] at showTrans.cvl:51.2-23 "*b=$next_time_count()"
[junit] --> State 17
[junit] State 17, p0:
[junit] 23->24: a=-(1+(*&<d1>a*6)) [a:=-7] at showTrans.cvl:52.2-13 "a=-(a+*b* ... )"
[junit] 24->25: $elaborate_domain(($domain(2)){(1..4#2), (1..4#2)}) at showTrans.cvl:53.17-20 "dom"
[junit] --> State 18
[junit] State 18, p0:
[junit] 25->26: LOOP_BODY_ENTER(($domain(2)){(1..4#2), (1..4#2)} has next for (NULL, NULL)) at showTrans.cvl:53.17-20 "dom"
[junit] 26->27: $for((NULL, NULL) has next in ($domain(2)){(1..4#2), (1..4#2)} at showTrans.cvl:53.2-6 "$for"
[junit] --> State 19
[junit] State 19, p0:
[junit] 27->25: c[0][0]=(1*10)+1 [c[0][0]:=11] at showTrans.cvl:54.4-34 "c[(i-1)/2 ... j"
[junit] --> State 20
[junit] State 20, p0:
[junit] 25->26: LOOP_BODY_ENTER(($domain(2)){(1..4#2), (1..4#2)} has next for (1, 1)) at showTrans.cvl:53.17-20 "dom"
[junit] 26->27: $for((1, 1) has next in ($domain(2)){(1..4#2), (1..4#2)} at showTrans.cvl:53.2-6 "$for"
[junit] --> State 21
[junit] State 21, p0:
[junit] 27->25: c[0][1]=(1*10)+3 [c[0][1]:=13] at showTrans.cvl:54.4-34 "c[(i-1)/2 ... j"
[junit] --> State 22
[junit] State 22, p0:
[junit] 25->26: LOOP_BODY_ENTER(($domain(2)){(1..4#2), (1..4#2)} has next for (1, 3)) at showTrans.cvl:53.17-20 "dom"
[junit] 26->27: $for((1, 3) has next in ($domain(2)){(1..4#2), (1..4#2)} at showTrans.cvl:53.2-6 "$for"
[junit] --> State 23
[junit] State 23, p0:
[junit] 27->25: c[1][0]=(3*10)+1 [c[1][0]:=31] at showTrans.cvl:54.4-34 "c[(i-1)/2 ... j"
[junit] --> State 24
[junit] State 24, p0:
[junit] 25->26: LOOP_BODY_ENTER(($domain(2)){(1..4#2), (1..4#2)} has next for (3, 1)) at showTrans.cvl:53.17-20 "dom"
[junit] 26->27: $for((3, 1) has next in ($domain(2)){(1..4#2), (1..4#2)} at showTrans.cvl:53.2-6 "$for"
[junit] --> State 25
[junit] State 25, p0:
[junit] 27->25: c[1][1]=(3*10)+3 [c[1][1]:=33] at showTrans.cvl:54.4-34 "c[(i-1)/2 ... j"
[junit] --> State 26
[junit] State 26, p0:
[junit] 25->28: LOOP_BODY_EXIT(!($domain(2)){(1..4#2), (1..4#2)} has next for (3, 3)) at showTrans.cvl:53.17-20 "dom"
[junit] 28->29: $assert(FORALL {int i | ((0<=i)&&(i<2))} (0<=((c)[i])[i])) at showTrans.cvl:55.2-57 "$assert($forall {int i ... )"
[junit] 29->30: $assert(EXISTS {int i | ((0<=i)&&(i<2))} (0<=((c)[i])[i])) at showTrans.cvl:56.2-57 "$assert($exists {int i ... )"
[junit] 30->31: dom=($domain(2)){(0..1#1), (0..1#1)} at showTrans.cvl:57.2-34 "dom=($domain(2)){ ... }"
[junit] 31->32: $elaborate_domain(($domain(2)){(0..1#1), (0..1#1)}) at showTrans.cvl:58.20-23 "dom"
[junit] 32->33: $parfor(i0,i1: ($domain(2)){(0..1#1), (0..1#1)}) $spawn times2(i0,i1) at showTrans.cvl:58.2-9 "$parfor"
[junit] --> State 27
[junit] State 27, p3:
[junit] 42->RET: times2(...) return (2*0)*0 at showTrans.cvl:11.2-15 "return 2*k*t;"
[junit] --> State 28
[junit] State 28, p4:
[junit] 42->RET: times2(...) return (2*0)*1 at showTrans.cvl:11.2-15 "return 2*k*t;"
[junit] --> State 29
[junit] State 29, p5:
[junit] 42->RET: times2(...) return (2*1)*0 at showTrans.cvl:11.2-15 "return 2*k*t;"
[junit] --> State 30
[junit] State 30, p6:
[junit] 42->RET: times2(...) return (2*1)*1 at showTrans.cvl:11.2-15 "return 2*k*t;"
[junit] --> State 31
[junit] State 31, p0:
[junit] 33->34: $waitall(&<d1>_par_procs0[0], 4) at showTrans.cvl:59.16-17 ";"
[junit] --> State 32
[junit] State 32, p0:
[junit] 34->35: *(&<d1>a)=*(&<d1>c[0][0]+1) [*(&<d1>a):=13] at showTrans.cvl:60.2-18 "*b=*(&c[0 ... )"
[junit] --> State 33
[junit] State 33, p0:
[junit] 35->36: b=(int*)$malloc(d0, SIZEOF_INT*2) [b:=&<d0>heap.malloc0[0][0]] at showTrans.cvl:61.2-39 "b=(int*)$malloc($root ... )"
[junit] --> State 35
[junit] State 35, p0:
[junit] 36->37: *(&<d0>heap.malloc0[0][0]+0)=11 at showTrans.cvl:62.2-14 "b[0]=c[0] ... ]"
[junit] --> State 36
[junit] State 36, p0:
[junit] 37->38: *(&<d0>heap.malloc0[0][0]+1)=33 at showTrans.cvl:63.2-14 "b[1]=c[1] ... ]"
[junit] --> State 37
[junit] State 37, p0:
[junit] 38->39: $free(&<d0>heap.malloc0[0][0]) at showTrans.cvl:64.2-10 "$free(b)"
[junit] 39->RET: _CIVL_system(...) return at showTrans.cvl:65.0-1 "}"
[junit] --> State 38
[junit]
[junit] === Command ===
[junit] civl verify -showProgram -showTransitions examples/backend/showTrans.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.14
[junit] memory (bytes) : 494927872
[junit] max process count : 5
[junit] states : 71
[junit] states saved : 39
[junit] state matches : 0
[junit] transitions : 68
[junit] trace steps : 37
[junit] valid calls : 191
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] State 0, p0:
[junit] 0->1: x=InitialValue(x) [x:=X0] at printExpr.cvl:19.0-12 "$input int x"
[junit] 1->2: y=InitialValue(y) [y:=X1] at printExpr.cvl:20.0-12 "$input int y"
[junit] 2->3: MU=InitialValue(MU) [MU:=X2] at printExpr.cvl:21.0-17 "$input MyUnion MU"
[junit] 3->4: dx=InitialValue(dx) [dx:=X3] at printExpr.cvl:22.0-16 "$input double dx"
[junit] 4->5: dy=InitialValue(dy) [dy:=X4] at printExpr.cvl:23.0-16 "$input double dy"
[junit] 5->6: _A=InitialValue(_A) [_A:=(int[])X5] at printExpr.cvl:24.0-15 "$input int _A[]"
[junit] 6->7: B=InitialValue(B) [B:=X6] at printExpr.cvl:25.0-14 "$input _Bool B"
[junit] 7->8: p=InitialValue(p) [p:=X7] at printExpr.cvl:26.0-14 "$input $proc p"
[junit] 8->9: pt=InitialValue(pt) [pt:=(Point)X8] at printExpr.cvl:27.0-15 "$input Point pt"
[junit] 9->10: $assume(X7!=$self) at printExpr.cvl:28.0-19 "$assume(p != $self)"
[junit] 10->11: sc=InitialValue(sc) [sc:=X9] at printExpr.cvl:29.0-16 "$input $scope sc"
[junit] 11->12: $assume(X9!=d0) at printExpr.cvl:30.0-20 "$assume(sc != $root)"
[junit] 12->13: $assume(X3!=0) at printExpr.cvl:31.0-14 "$assume(dx!=0)"
[junit] 13->14: p1=InitialValue(p1) [p1:=$proc_null] at printExpr.cvl:32.0-8 "$proc p1"
[junit] 14->15: k=sum [k:=&<d0>sum(n : int)] at printExpr.cvl:62.2-20 "int (*k)(int) ... sum"
[junit] 15->16: A=InitialValue(A) [A:=(int[10])X_s1v2p0] at printExpr.cvl:63.2-11 "int A[10]"
[junit] 16->17: mu=InitialValue(mu) [mu:=X_s1v20p0] at printExpr.cvl:69.2-12 "MyUnion mu"
[junit] --> State 1
[junit]
[junit] State 1
[junit] | Path condition
[junit] | | (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])X_s1v2p0
[junit] | | | | p = NULL
[junit] | | | | n = NULL
[junit] | | | | n1 = NULL
[junit] | | | | n2 = NULL
[junit] | | | | n3 = NULL
[junit] | | | | n4 = NULL
[junit] | | | | n5 = NULL
[junit] | | | | n6 = NULL
[junit] | | | | n7 = NULL
[junit] | | | | n8 = NULL
[junit] | | | | n9 = NULL
[junit] | | | | b = NULL
[junit] | | | | b1 = NULL
[junit] | | | | b2 = NULL
[junit] | | | | b3 = NULL
[junit] | | | | d1 = NULL
[junit] | | | | d2 = NULL
[junit] | | | | mu = X_s1v20p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=17, printExpr.cvl:71.2-6 "A[1]", dyscope=d1]
[junit] State 1, p0:
[junit] 17->18: A[1]=8 at printExpr.cvl:71.2-8 "A[1]=8"
[junit] --> State 2
[junit]
[junit] State 2
[junit] | Path condition
[junit] | | (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])(X_s1v2p0){[1]=8}
[junit] | | | | p = NULL
[junit] | | | | n = NULL
[junit] | | | | n1 = NULL
[junit] | | | | n2 = NULL
[junit] | | | | n3 = NULL
[junit] | | | | n4 = NULL
[junit] | | | | n5 = NULL
[junit] | | | | n6 = NULL
[junit] | | | | n7 = NULL
[junit] | | | | n8 = NULL
[junit] | | | | n9 = NULL
[junit] | | | | b = NULL
[junit] | | | | b1 = NULL
[junit] | | | | b2 = NULL
[junit] | | | | b3 = NULL
[junit] | | | | d1 = NULL
[junit] | | | | d2 = NULL
[junit] | | | | mu = X_s1v20p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=18, printExpr.cvl:72.2-6 "A[2]", dyscope=d1]
[junit] State 2, p0:
[junit] 18->19: A[2]=9 at printExpr.cvl:72.2-8 "A[2]=9"
[junit] --> State 3
[junit]
[junit] State 3
[junit] | Path condition
[junit] | | (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])(X_s1v2p0){[1]=8, [2]=9}
[junit] | | | | p = NULL
[junit] | | | | n = NULL
[junit] | | | | n1 = NULL
[junit] | | | | n2 = NULL
[junit] | | | | n3 = NULL
[junit] | | | | n4 = NULL
[junit] | | | | n5 = NULL
[junit] | | | | n6 = NULL
[junit] | | | | n7 = NULL
[junit] | | | | n8 = NULL
[junit] | | | | n9 = NULL
[junit] | | | | b = NULL
[junit] | | | | b1 = NULL
[junit] | | | | b2 = NULL
[junit] | | | | b3 = NULL
[junit] | | | | d1 = NULL
[junit] | | | | d2 = NULL
[junit] | | | | mu = X_s1v20p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=19, printExpr.cvl:73.2-6 "A[3]", dyscope=d1]
[junit] State 3, p0:
[junit] 19->20: A[3]=7 at printExpr.cvl:73.2-8 "A[3]=7"
[junit] --> State 4
[junit]
[junit] State 4
[junit] | Path condition
[junit] | | (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])(X_s1v2p0){[1]=8, [2]=9, [3]=7}
[junit] | | | | p = NULL
[junit] | | | | n = NULL
[junit] | | | | n1 = NULL
[junit] | | | | n2 = NULL
[junit] | | | | n3 = NULL
[junit] | | | | n4 = NULL
[junit] | | | | n5 = NULL
[junit] | | | | n6 = NULL
[junit] | | | | n7 = NULL
[junit] | | | | n8 = NULL
[junit] | | | | n9 = NULL
[junit] | | | | b = NULL
[junit] | | | | b1 = NULL
[junit] | | | | b2 = NULL
[junit] | | | | b3 = NULL
[junit] | | | | d1 = NULL
[junit] | | | | d2 = NULL
[junit] | | | | mu = X_s1v20p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=20, printExpr.cvl:74.2-3 "n", dyscope=d1]
[junit] State 4, p0:
[junit] 20->21: n=9 at printExpr.cvl:74.2-8 "n=A[2]"
[junit] 21->22: $assume((0<=X0)&&(X0<10)) at printExpr.cvl:75.2-23 "$assume(0<=x && x ... )"
[junit] --> State 5
[junit]
[junit] State 5
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])(X_s1v2p0){[1]=8, [2]=9, [3]=7}
[junit] | | | | p = NULL
[junit] | | | | n = 9
[junit] | | | | n1 = NULL
[junit] | | | | n2 = NULL
[junit] | | | | n3 = NULL
[junit] | | | | n4 = NULL
[junit] | | | | n5 = NULL
[junit] | | | | n6 = NULL
[junit] | | | | n7 = NULL
[junit] | | | | n8 = NULL
[junit] | | | | n9 = NULL
[junit] | | | | b = NULL
[junit] | | | | b1 = NULL
[junit] | | | | b2 = NULL
[junit] | | | | b3 = NULL
[junit] | | | | d1 = NULL
[junit] | | | | d2 = NULL
[junit] | | | | mu = X_s1v20p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=22, printExpr.cvl:76.2-6 "A[x]", dyscope=d1]
[junit] State 5, p0:
[junit] 22->23: A[X0]=9 at printExpr.cvl:76.2-8 "A[x]=9"
[junit] --> State 6
[junit]
[junit] State 6
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = NULL
[junit] | | | | n = 9
[junit] | | | | n1 = NULL
[junit] | | | | n2 = NULL
[junit] | | | | n3 = NULL
[junit] | | | | n4 = NULL
[junit] | | | | n5 = NULL
[junit] | | | | n6 = NULL
[junit] | | | | n7 = NULL
[junit] | | | | n8 = NULL
[junit] | | | | n9 = NULL
[junit] | | | | b = NULL
[junit] | | | | b1 = NULL
[junit] | | | | b2 = NULL
[junit] | | | | b3 = NULL
[junit] | | | | d1 = NULL
[junit] | | | | d2 = NULL
[junit] | | | | mu = X_s1v20p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=23, printExpr.cvl:77.2-3 "n", dyscope=d1]
[junit] State 6, p0:
[junit] 23->24: n=X_s1v2p0[1:=8, 2:=9, 3:=7][X0:=9][X0] at printExpr.cvl:77.2-8 "n=A[x]"
[junit] 24->25: n=X0+X1 at printExpr.cvl:78.2-7 "n=x+y"
[junit] 25->26: n=$seq_length(&<d0>_A) [n:=length((int[])X5)] at printExpr.cvl:79.2-20 "n=$seq_length(&_A)"
[junit] 26->27: b=(X0!=0)&&(X1!=0) [b:=(0!=X0) && (0!=X1)] at printExpr.cvl:80.2-12 "b = x && y"
[junit] 27->28: b=X0<X1 [b:=0<-1*X0+X1] at printExpr.cvl:81.2-7 "b=x<y"
[junit] 28->29: b=X0<=X1 [b:=0<=-1*X0+X1] at printExpr.cvl:82.2-8 "b=x<=y"
[junit] 29->30: b=($bool)X0 [b:=0!=X0] at printExpr.cvl:83.2-12 "b=(_Bool)x"
[junit] 30->31: $assume(X0!=0) at printExpr.cvl:84.2-15 "$assume(x!=0)"
[junit] 31->32: n1=X1/X0 at printExpr.cvl:85.2-8 "n1=y/x"
[junit] 32->33: d1=X4/X3 at printExpr.cvl:86.2-10 "d1=dy/dx"
[junit] 33->34: n2=X1%X0 at printExpr.cvl:87.2-8 "n2=y%x"
[junit] 34->35: n3=X0*X1 at printExpr.cvl:88.2-8 "n3=x*y"
[junit] 35->36: n4=-X1 [n4:=-1*X1] at printExpr.cvl:89.2-7 "n4=-y"
[junit] 36->37: b1=X0!=X1 [b1:=0!=-1*X0+X1] at printExpr.cvl:90.2-9 "b1=x!=y"
[junit] 37->38: b2=!X6 at printExpr.cvl:91.2-7 "b2=!B"
[junit] 38->39: b3=X6||0!=-1*X0+X1 [b3:=(0!=-1*X0+X1)||X6] at printExpr.cvl:92.2-13 "b3= B || b1"
[junit] 39->40: n5=X0-X1 [n5:=X0+-1*X1] at printExpr.cvl:93.2-8 "n5=x-y"
[junit] 40->41: b=X0==X1 [b:=0==-1*X0+X1] at printExpr.cvl:94.2-8 "b=x==y"
[junit] 41->42: n6=(int)X8.0 [n6:=(int)(X8.0)] at printExpr.cvl:95.2-9 "n6=pt.x"
[junit] 42->43: n7=random(length((int[])X5)) at printExpr.cvl:96.2-14 "n7=random(n)"
[junit] 43->44: n8=(((X0*X0)*X0)*X0)*X0 [n8:=X0^5] at printExpr.cvl:97.2-14 "n8=x*x*x*x ... x"
[junit] 44->45: n9=extract(0,X2) at printExpr.cvl:98.2-9 "n9=MU.a"
[junit] 45->46: d2=extract(1,X2) at printExpr.cvl:99.2-9 "d2=MU.b"
[junit] 46->47: (mu).a=(int)(X8.0) at printExpr.cvl:100.2-9 "mu.a=n6"
[junit] 47->55: structs() at printExpr.cvl:101.2-11 "structs()"
[junit] --> State 8
[junit]
[junit] State 8
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = NULL
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d3 (id=2, parent=d2, static=11)
[junit] | | | variables
[junit] | | | | p0 = NULL
[junit] | | | | p1 = NULL
[junit] | | | | p2 = NULL
[junit] | | | | l0 = NULL
[junit] | | | | l1 = NULL
[junit] | | | | l2 = NULL
[junit] | | | | lines = NULL
[junit] | | dyscope d2 (id=3, parent=d0, static=7)
[junit] | | | variables
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=structs, location=55, printExpr.cvl:36.2-7 "Point", dyscope=d3]
[junit] | | | | Frame[function=_CIVL_system, location=47, printExpr.cvl:101.2-9 "structs", dyscope=d1]
[junit] State 8, p0:
[junit] 55->56: p0=(Point){.x=0, .y=0} at printExpr.cvl:36.2-30 "Point p0={0,0} ... p2"
[junit] 56->57: p1=(Point){.x=1, .y=1} at printExpr.cvl:36.2-30 "Point p0={0,0} ... p2"
[junit] 57->58: p2=InitialValue(p2) [p2:=(Point)X_s2v3p0] at printExpr.cvl:36.2-30 "Point p0={0,0} ... p2"
[junit] 58->59: l0=(Line){.start={.x=0, .y=0}, .end={.x=1, .y=1}} at printExpr.cvl:37.2-42 "Line l0={p0, p1 ... p0"
[junit] 59->60: l1=(Line){.start={.x=1, .y=1}, .end=X_s2v3p0} at printExpr.cvl:37.2-42 "Line l0={p0, p1 ... p0"
[junit] 60->61: l2=(Line){.start=X_s2v3p0, .end={.x=0, .y=0}} at printExpr.cvl:37.2-42 "Line l0={p0, p1 ... p0"
[junit] 61->62: lines=InitialValue(lines) [lines:=(Line[3])X_s2v7p0] at printExpr.cvl:38.2-15 "Line lines[3]"
[junit] 62->63: (p2).x=2 at printExpr.cvl:42.2-8 "p2.x=2"
[junit] 63->64: (p2).y=2 at printExpr.cvl:43.2-8 "p2.y=2"
[junit] --> State 9
[junit]
[junit] State 9
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = NULL
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d3 (id=2, parent=d2, static=11)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point){.x=2, .y=2}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s2v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s2v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])X_s2v7p0
[junit] | | dyscope d2 (id=3, parent=d0, static=7)
[junit] | | | variables
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=structs, location=64, printExpr.cvl:44.2-10 "lines[0]", dyscope=d3]
[junit] | | | | Frame[function=_CIVL_system, location=47, printExpr.cvl:101.2-9 "structs", dyscope=d1]
[junit] State 9, p0:
[junit] 64->65: lines[0]=(Line){.start={.x=0, .y=0}, .end={.x=1, .y=1}} at printExpr.cvl:44.2-13 "lines[0]=l0"
[junit] --> State 10
[junit]
[junit] State 10
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = NULL
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d3 (id=2, parent=d2, static=11)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point){.x=2, .y=2}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s2v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s2v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(X_s2v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}
[junit] | | dyscope d2 (id=3, parent=d0, static=7)
[junit] | | | variables
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=structs, location=65, printExpr.cvl:45.2-10 "lines[1]", dyscope=d3]
[junit] | | | | Frame[function=_CIVL_system, location=47, printExpr.cvl:101.2-9 "structs", dyscope=d1]
[junit] State 10, p0:
[junit] 65->66: lines[1]=(Line){.start={.x=1, .y=1}, .end=X_s2v3p0} at printExpr.cvl:45.2-13 "lines[1]=l1"
[junit] --> State 11
[junit]
[junit] State 11
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = NULL
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d3 (id=2, parent=d2, static=11)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point){.x=2, .y=2}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s2v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s2v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(X_s2v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}},
[junit] | | | | | [1]={
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end=X_s2v3p0}}
[junit] | | dyscope d2 (id=3, parent=d0, static=7)
[junit] | | | variables
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=structs, location=66, printExpr.cvl:46.2-10 "lines[2]", dyscope=d3]
[junit] | | | | Frame[function=_CIVL_system, location=47, printExpr.cvl:101.2-9 "structs", dyscope=d1]
[junit] State 11, p0:
[junit] 66->67: lines[2]=(Line){.start=X_s2v3p0, .end={.x=0, .y=0}} at printExpr.cvl:46.2-13 "lines[2]=l2"
[junit] 67->RET: structs(...) return at printExpr.cvl:47.0-1 "}"
[junit] --> State 12
[junit]
[junit] State 12
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = NULL
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=48, printExpr.cvl:102.2-3 "p", dyscope=d1]
[junit] State 12, p0:
[junit] 48->49: p=(int*)$malloc(d0, SIZEOF_INT*10) [p:=&<d0>heap.malloc0[0][0]] at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )"
[junit] 49->68: call(&<d0>sum(n : int), 2) at printExpr.cvl:103.2-12 "call(k, 2)"
[junit] --> State 14
[junit]
[junit] State 14
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )":
[junit] | | | | | | 0: (int[10])Hop0s0f0o0
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = &<d0>heap.malloc0[0][0]
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d5 (id=2, parent=d4, static=12)
[junit] | | | variables
[junit] | | | | $sef$0 = NULL
[junit] | | dyscope d4 (id=3, parent=d0, static=8)
[junit] | | | variables
[junit] | | | | f = &<d0>sum(n : int)
[junit] | | | | arg = 2
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=call, location=68, printExpr.cvl:50.9-10 "f", dyscope=d5]
[junit] | | | | Frame[function=_CIVL_system, location=49, printExpr.cvl:103.2-6 "call", dyscope=d1]
[junit] State 14, p0:
[junit] 68->69: $sef$0=sum(2) at printExpr.cvl:50.9-15 "f(arg)"
[junit] --> State 15
[junit]
[junit] State 15
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )":
[junit] | | | | | | 0: (int[10])Hop0s0f0o0
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = $proc_null
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = &<d0>heap.malloc0[0][0]
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d5 (id=2, parent=d4, static=12)
[junit] | | | variables
[junit] | | | | $sef$0 = NULL
[junit] | | dyscope d4 (id=3, parent=d0, static=8)
[junit] | | | variables
[junit] | | | | f = &<d0>sum(n : int)
[junit] | | | | arg = 2
[junit] | | dyscope d7 (id=4, parent=d6, static=13)
[junit] | | | variables
[junit] | | | | result = NULL
[junit] | | dyscope d6 (id=5, parent=d0, static=9)
[junit] | | | variables
[junit] | | | | n = 2
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=sum, location=70, printExpr.cvl:54.2-14 "int result=0", dyscope=d7]
[junit] | | | | Frame[function=call, location=68, printExpr.cvl:50.9-10 "f", dyscope=d5]
[junit] | | | | Frame[function=_CIVL_system, location=49, printExpr.cvl:103.2-6 "call", dyscope=d1]
[junit] State 15, p0:
[junit] 70->71: result=0 at printExpr.cvl:54.2-14 "int result=0"
[junit] 71->72: i=1 at printExpr.cvl:56.6-13 "int i=1"
[junit] 72->73: LOOP_BODY_ENTER(1<=2) at printExpr.cvl:56.15-19 "i<=n"
[junit] 73->74: result=0+1 [result:=1] at printExpr.cvl:57.4-13 "result+=i"
[junit] 74->72: i=1+1 [i:=2] at printExpr.cvl:56.21-24 "i++"
[junit] 72->73: LOOP_BODY_ENTER(2<=2) at printExpr.cvl:56.15-19 "i<=n"
[junit] 73->74: result=1+2 [result:=3] at printExpr.cvl:57.4-13 "result+=i"
[junit] 74->72: i=2+1 [i:=3] at printExpr.cvl:56.21-24 "i++"
[junit] 72->75: LOOP_BODY_EXIT(!(3<=2)) at printExpr.cvl:56.15-19 "i<=n"
[junit] 75->RET: sum(...) return 3 [$sef$0:=3] at printExpr.cvl:58.2-16 "return result;"
[junit] 69->RET: call(...) return 3 at printExpr.cvl:50.2-16 "return f(arg);"
[junit] 50->51: p1=$spawn sum(1) [p1:=p1] at printExpr.cvl:104.2-18 "p1=$spawn sum(1)"
[junit] --> State 16
[junit]
[junit] State 16
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )":
[junit] | | | | | | 0: (int[10])Hop0s0f0o0
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = p1
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = &<d0>heap.malloc0[0][0]
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d10 (id=2, parent=d9, static=13)
[junit] | | | variables
[junit] | | | | result = NULL
[junit] | | dyscope d9 (id=3, parent=d0, static=9)
[junit] | | | variables
[junit] | | | | n = 1
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=51, printExpr.cvl:105.2-6 "p[5]", dyscope=d1]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=sum, location=70, printExpr.cvl:54.2-14 "int result=0", dyscope=d10]
[junit] State 16, p0:
[junit] 51->52: *(&<d0>heap.malloc0[0][0]+5)=5 at printExpr.cvl:105.2-8 "p[5]=5"
[junit] --> State 17
[junit]
[junit] State 17
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )":
[junit] | | | | | | 0: (int[10])(Hop0s0f0o0){[5]=5}
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = p1
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = &<d0>heap.malloc0[0][0]
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | | dyscope d10 (id=2, parent=d9, static=13)
[junit] | | | variables
[junit] | | | | result = NULL
[junit] | | dyscope d9 (id=3, parent=d0, static=9)
[junit] | | | variables
[junit] | | | | n = 1
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=52, printExpr.cvl:106.2-7 "$wait", dyscope=d1]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=sum, location=70, printExpr.cvl:54.2-14 "int result=0", dyscope=d10]
[junit] State 17, p1:
[junit] 70->71: result=0 at printExpr.cvl:54.2-14 "int result=0"
[junit] 71->72: i=1 at printExpr.cvl:56.6-13 "int i=1"
[junit] 72->73: LOOP_BODY_ENTER(1<=1) at printExpr.cvl:56.15-19 "i<=n"
[junit] 73->74: result=0+1 [result:=1] at printExpr.cvl:57.4-13 "result+=i"
[junit] 74->72: i=1+1 [i:=2] at printExpr.cvl:56.21-24 "i++"
[junit] 72->75: LOOP_BODY_EXIT(!(2<=1)) at printExpr.cvl:56.15-19 "i<=n"
[junit] 75->RET: sum(...) return 1 at printExpr.cvl:58.2-16 "return result;"
[junit] --> State 18
[junit]
[junit] State 18
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )":
[junit] | | | | | | 0: (int[10])(Hop0s0f0o0){[5]=5}
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = p1
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = &<d0>heap.malloc0[0][0]
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=52, printExpr.cvl:106.2-7 "$wait", dyscope=d1]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] State 18, p0:
[junit] 52->53: $wait(p1) at printExpr.cvl:106.2-11 "$wait(p1)"
[junit] --> State 19
[junit]
[junit] State 19
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at printExpr.cvl:102.2-40 "p=(int*)$malloc($root ... )":
[junit] | | | | | | 0: (int[10])(Hop0s0f0o0){[5]=5}
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = UNDEFINED
[junit] | | dyscope d1 (id=1, parent=d0, static=10)
[junit] | | | variables
[junit] | | | | k = &<d0>sum(n : int)
[junit] | | | | A = (int[10])((X_s1v2p0){[1]=8, [2]=9, [3]=7}){[X0]=9}
[junit] | | | | p = &<d0>heap.malloc0[0][0]
[junit] | | | | n = length((int[])X5)
[junit] | | | | n1 = X1/X0
[junit] | | | | n2 = X1%X0
[junit] | | | | n3 = X0*X1
[junit] | | | | n4 = -1*X1
[junit] | | | | n5 = X0+-1*X1
[junit] | | | | n6 = (int)(X8.0)
[junit] | | | | n7 = random(length((int[])X5))
[junit] | | | | n8 = X0^5
[junit] | | | | n9 = extract(0,X2)
[junit] | | | | b = 0==-1*X0+X1
[junit] | | | | b1 = 0!=-1*X0+X1
[junit] | | | | b2 = !X6
[junit] | | | | b3 = (0!=-1*X0+X1)||X6
[junit] | | | | d1 = X4/X3
[junit] | | | | d2 = extract(1,X2)
[junit] | | | | mu = (int)(X8.0)
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=53, printExpr.cvl:107.2-7 "$free", dyscope=d1]
[junit] State 19, p0:
[junit] 53->54: $free(&<d0>heap.malloc0[0][0]) at printExpr.cvl:107.2-10 "$free(p)"
[junit] 54->RET: _CIVL_system(...) return at printExpr.cvl:108.0-1 "}"
[junit] --> State 20
[junit]
[junit] State 20
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0!=X0) && (0!=X7.0) && (0!=X9.0) && (0!=X3)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | | | y = X1
[junit] | | | | MU = X2
[junit] | | | | dx = X3
[junit] | | | | dy = X4
[junit] | | | | _A = (int[])X5
[junit] | | | | B = X6
[junit] | | | | p = X7
[junit] | | | | pt = (Point)X8
[junit] | | | | sc = X9
[junit] | | | | p1 = UNDEFINED
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit]
[junit] === Command ===
[junit] civl verify -showProgram=false -showSavedStates -showTransitions examples/backend/printExpr.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.15
[junit] memory (bytes) : 494927872
[junit] max process count : 2
[junit] states : 88
[junit] states saved : 21
[junit] state matches : 0
[junit] transitions : 87
[junit] trace steps : 18
[junit] valid calls : 38
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 9
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] State 0, p0:
[junit] 0->1: x=InitialValue(x) [x:=X0] at arrayWrite.cvl:13.0-12 "$input int x"
[junit] 1->2: p0=(Point){.x=0, .y=0} at arrayWrite.cvl:16.2-30 "Point p0={0,0} ... p2"
[junit] 2->3: p1=(Point){.x=1, .y=1} at arrayWrite.cvl:16.2-30 "Point p0={0,0} ... p2"
[junit] 3->4: p2=InitialValue(p2) [p2:=(Point)X_s1v3p0] at arrayWrite.cvl:16.2-30 "Point p0={0,0} ... p2"
[junit] 4->5: l0=(Line){.start={.x=0, .y=0}, .end={.x=1, .y=1}} at arrayWrite.cvl:17.2-42 "Line l0={p0, p1 ... p0"
[junit] 5->6: l1=(Line){.start={.x=1, .y=1}, .end=X_s1v3p0} at arrayWrite.cvl:17.2-42 "Line l0={p0, p1 ... p0"
[junit] 6->7: l2=(Line){.start=X_s1v3p0, .end={.x=0, .y=0}} at arrayWrite.cvl:17.2-42 "Line l0={p0, p1 ... p0"
[junit] 7->8: lines=InitialValue(lines) [lines:=(Line[3])X_s1v7p0] at arrayWrite.cvl:18.2-26 "Line lines[3], lines1 ... ]"
[junit] 8->9: lines1=InitialValue(lines1) [lines1:=(Line[3])X_s1v8p0] at arrayWrite.cvl:18.2-26 "Line lines[3], lines1 ... ]"
[junit] 9->10: $assume((0<X0)&&(X0<3)) at arrayWrite.cvl:20.2-21 "$assume(x>0 && x ... )"
[junit] --> State 1
[junit]
[junit] State 1
[junit] | Path condition
[junit] | | (0<=-1*X0+2) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | dyscope d1 (id=1, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point)X_s1v3p0
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s1v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s1v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])X_s1v7p0
[junit] | | | | lines1 = (Line[3])X_s1v8p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=10, arrayWrite.cvl:21.2-10 "lines[0]", dyscope=d1]
[junit] State 1, p0:
[junit] 10->11: lines[0]=(Line){.start={.x=0, .y=0}, .end={.x=1, .y=1}} at arrayWrite.cvl:21.2-13 "lines[0]=l0"
[junit] --> State 2
[junit]
[junit] State 2
[junit] | Path condition
[junit] | | (0<=-1*X0+2) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | dyscope d1 (id=1, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point)X_s1v3p0
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s1v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s1v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(X_s1v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}
[junit] | | | | lines1 = (Line[3])X_s1v8p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=11, arrayWrite.cvl:22.2-10 "lines[x]", dyscope=d1]
[junit] State 2, p0:
[junit] 11->12: lines[X0]=(Line){.start={.x=1, .y=1}, .end=X_s1v3p0} at arrayWrite.cvl:22.2-13 "lines[x]=l1"
[junit] --> State 3
[junit]
[junit] State 3
[junit] | Path condition
[junit] | | (0<=-1*X0+2) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | dyscope d1 (id=1, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point)X_s1v3p0
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s1v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s1v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])((X_s1v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}){
[junit] | | | | | [X0]=(Line){
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end=X_s1v3p0}}
[junit] | | | | lines1 = (Line[3])X_s1v8p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=12, arrayWrite.cvl:23.2-10 "lines[1]", dyscope=d1]
[junit] State 3, p0:
[junit] 12->13: lines[1]=(Line){.start={.x=1, .y=1}, .end=X_s1v3p0} at arrayWrite.cvl:23.2-13 "lines[1]=l1"
[junit] --> State 4
[junit]
[junit] State 4
[junit] | Path condition
[junit] | | (0<=-1*X0+2) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | dyscope d1 (id=1, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point)X_s1v3p0
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s1v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s1v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(((X_s1v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}){
[junit] | | | | | [X0]=(Line){
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end=X_s1v3p0}}){
[junit] | | | | | [1]={
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end=X_s1v3p0}}
[junit] | | | | lines1 = (Line[3])X_s1v8p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=13, arrayWrite.cvl:24.2-11 "lines1[x]", dyscope=d1]
[junit] State 4, p0:
[junit] 13->14: lines1[X0]=(Line){.start=X_s1v3p0, .end={.x=0, .y=0}} at arrayWrite.cvl:24.2-14 "lines1[x]=l2"
[junit] --> State 5
[junit]
[junit] State 5
[junit] | Path condition
[junit] | | (0<=-1*X0+2) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | | dyscope d1 (id=1, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point)X_s1v3p0
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end=X_s1v3p0}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start=X_s1v3p0,
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(((X_s1v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}){
[junit] | | | | | [X0]=(Line){
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end=X_s1v3p0}}){
[junit] | | | | | [1]={
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end=X_s1v3p0}}
[junit] | | | | lines1 = (Line[3])(X_s1v8p0){
[junit] | | | | | [X0]=(Line){
[junit] | | | | | | .start=X_s1v3p0,
[junit] | | | | | | .end={.x=0, .y=0}}}
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=14, arrayWrite.cvl:25.2-11 "lines1[1]", dyscope=d1]
[junit] State 5, p0:
[junit] 14->15: lines1[1]=(Line){.start={.x=0, .y=0}, .end={.x=1, .y=1}} at arrayWrite.cvl:25.2-14 "lines1[1]=l0"
[junit] 15->RET: _CIVL_system(...) return at arrayWrite.cvl:26.0-1 "}"
[junit] --> State 6
[junit]
[junit] State 6
[junit] | Path condition
[junit] | | (0<=-1*X0+2) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | x = X0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit]
[junit] === Command ===
[junit] civl verify -showProgram=false -showSavedStates -showTransitions examples/backend/arrayWrite.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 494927872
[junit] max process count : 1
[junit] states : 17
[junit] states saved : 7
[junit] state matches : 0
[junit] transitions : 16
[junit] trace steps : 6
[junit] valid calls : 8
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //====================== sizeOfTypes.c =====================
[junit] int s0;
[junit] int s1;
[junit] int s2;
[junit] struct node{
[junit] int x;
[junit] int y;
[junit] }
[junit] typedef struct node node_t;
[junit] int main()
[junit] {
[junit] s0 = sizeof(int);
[junit] s1 = sizeof(struct node);
[junit] s2 = sizeof(node_t);
[junit] }
[junit]
[junit] State 0, p0:
[junit] 0->1: s0=InitialValue(s0) [s0:=0] at sizeOfTypes.c:3.0-14 "int s0, s1, s2"
[junit] 1->2: s1=InitialValue(s1) [s1:=0] at sizeOfTypes.c:3.0-14 "int s0, s1, s2"
[junit] 2->3: s2=InitialValue(s2) [s2:=0] at sizeOfTypes.c:3.0-14 "int s0, s1, s2"
[junit] 3->4: s0=SIZEOF_INT at sizeOfTypes.c:13.2-15 "s0=sizeof(int"
[junit] 4->5: s1=SIZEOF(struct node) at sizeOfTypes.c:14.2-23 "s1=sizeof(struct node"
[junit] 5->6: s2=SIZEOF(struct node) at sizeOfTypes.c:15.2-18 "s2=sizeof(node_t"
[junit] 6->RET: _CIVL_system(...) return at sizeOfTypes.c:16.0-1 "}"
[junit] --> State 2
[junit]
[junit] === Command ===
[junit] civl verify -showProgram -showTransitions examples/backend/sizeOfTypes.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 494927872
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 1
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0 (id = 0) (kind: OTHER, certainty: PROVEABLE)
[junit] at returnNull.cvl:16.2-24 "int x = returnDouble()":
[junit] attempt to use the return value of function returnDouble when returnDouble has returned without a return value.
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at returnNull.cvl:16.10-22 "returnDouble"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/returnNull_0.trace
[junit]
[junit] Violation 1 encountered at depth 4:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at returnNull.cvl:17.25-26 "x":
[junit] attempt to read uninitialized variable x
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at returnNull.cvl:17.2-8 "printf"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/returnNull_1.trace
[junit] Terminating search after finding 2 violations.
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=2 -enablePrintf=false examples/backend/returnNull.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 494927872
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 3
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/returnNull_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.CompareTest
[junit] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.178 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Specification and implementation have different values for the output _sum!
[junit]
[junit] Violation 0 encountered at depth 295:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpithreads_serial.c:36.0-19 "$output double _sum":
[junit] Context: (0 <= SIZEOF(dynamicType<304>)+-1) && (0 <= SIZEOF_REAL+-1) && (0 <= -1*X0+9) && (0 <= X0+-1) && (0 <= X2+-2)
[junit] Assertion voilated: $assert_equals(&(_sum_spec), &(_sum), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(_sum_spec)=&<d0>_sum_spec
[junit] &(_sum)=&<d0>_sum
[junit] Result:
[junit] <d0>_sum_spec=5
[junit] <d0>_sum=10
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-2)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mpithreads_serial.c:36.0-7 "$output"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/Composite_mpithreads_serial_mpithreads_mpi_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl compare -enablePrintf=false -inputVECLEN=5 -spec examples/compare/dot/mpithreads_serial.c -impl -input_mpi_nprocs=2 examples/compare/dot/mpithreads_mpi.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.71
[junit] memory (bytes) : 686292992
[junit] max process count : 3
[junit] states : 581
[junit] states saved : 305
[junit] state matches : 0
[junit] transitions : 580
[junit] trace steps : 294
[junit] valid calls : 1910
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/Composite_mpithreads_serial_mpithreads_mpi_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Done. Serial version: sum = 5
[junit] Task 0 partial sum is 5
[junit] Task 1 partial sum is 5
[junit] Done. MPI version: sum = 10
[junit] Specification and implementation have different values for the output _sum!
[junit] Error 0:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpithreads_serial.c:36.0-19 "$output double _sum":
[junit] Context: (0 <= SIZEOF(dynamicType<304>)+-1) && (0 <= SIZEOF_REAL+-1) && (0 <= -1*X0+9) && (0 <= X0+-1) && (0 <= X2+-2)
[junit] Assertion voilated: $assert_equals(&(_sum_spec), &(_sum), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(_sum_spec)=&<d0>_sum_spec
[junit] &(_sum)=&<d0>_sum
[junit] Result:
[junit] <d0>_sum_spec=5
[junit] <d0>_sum=10
[junit] State -1:47922
[junit] | Path condition
[junit] | | (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-2)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | VECLEN = 5
[junit] | | | | _mpi_nprocs = 2
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _sum_spec = 5
[junit] | | | | _sum = 10
[junit] | | | | _anon_0 = "Specification and implementation have different values for the output _sum!"
[junit] | | | | _anon_1 = "Done. Serial version: sum = %f \n"
[junit] | | | | _anon_2 = "MPI_Reduce() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "Process with rank %d is calling an possibly inconsistent MPI_Reduce routine with at least one of other processes.\n"
[junit] | | | | _anon_4 = "MPI_Reduce()"
[junit] | | | | _anon_5 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_6 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_7 = NULL
[junit] | | | | _anon_8 = "Process terminates without calling MPI_Finalize() first."
[junit] | | | | _anon_9 = "Collective routine %s receives a message with a mismatched tag\n"
[junit] | | | | _anon_10 = "Message of size %d exceeds the specified size %d."
[junit] | | | | _anon_11 = "Task %d partial sum is %f\n"
[junit] | | | | _anon_12 = "Done. MPI version: sum = %f \n"
[junit] | | dyscope d1 (id=1, parent=d0, static=6)
[junit] | | | variables
[junit] | | | | _isEqual = NULL
[junit] | | dyscope d2 (id=2, parent=d0, static=4)
[junit] | | | variables
[junit] | | dyscope d3 (id=3, parent=d2, static=7)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0 at mpithreads_serial.c:89.0-41 "a = (double*) ... )":
[junit] | | | | | | 0: (real[])INVALID
[junit] | | | | | objects of malloc 1 at mpithreads_serial.c:90.0-41 "b = (double*) ... )":
[junit] | | | | | | 0: (real[])INVALID
[junit] | | | | _gen_root = d3
[junit] | | | | dotstr = ($anon_struct_3){.a=&<d3>heap.malloc0[0][0], .b=&<d3>heap.malloc1[0][0], .sum=5, .veclen=5}
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d4 (id=4, parent=d3, static=14)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | dyscope d5 (id=5, parent=d3, static=13)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d3>_gen_argv_tmp[0]
[junit] | | dyscope d6 (id=6, parent=d5, static=66)
[junit] | | | variables
[junit] | | | | i = 5
[junit] | | | | len = 5
[junit] | | | | a = &<d3>heap.malloc0[0][0]
[junit] | | | | b = &<d3>heap.malloc1[0][0]
[junit] | | dyscope d7 (id=7, parent=d3, static=12)
[junit] | | | variables
[junit] | | dyscope d8 (id=8, parent=d7, static=65)
[junit] | | | variables
[junit] | | | | start = 0
[junit] | | | | end = 5
[junit] | | | | i = 5
[junit] | | | | mysum = 5
[junit] | | | | x = &<d3>heap.malloc0[0][0]
[junit] | | | | y = &<d3>heap.malloc1[0][0]
[junit] | | dyscope d9 (id=9, parent=d0, static=5)
[junit] | | | variables
[junit] | | dyscope d10 (id=10, parent=d9, static=15)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gbarrier[])INVALID
[junit] | | | | | objects of malloc 6:
[junit] | | | | | | 0: ($gcollect_checker[])INVALID
[junit] | | | | | objects of malloc 8:
[junit] | | | | | | 0: ($gcomm[])INVALID
[junit] | | | | | | 1: ($gcomm[])INVALID
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d10>heap.malloc8[0][0], .col=&<d10>heap.malloc8[1][0], .collect_checker=&<d10>heap.malloc6[0][0], .gbarrier=&<d10>heap.malloc4[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d10>heap.malloc8[0][0], .col=&<d10>heap.malloc8[1][0], .collect_checker=&<d10>heap.malloc6[0][0], .gbarrier=&<d10>heap.malloc4[0][0]}}
[junit] | | | | _dom_size0 = 2
[junit] | | | | _par_procs0 = (process[2]){UNDEFINED, UNDEFINED}
[junit] | | dyscope d11 (id=11, parent=d10, static=47)
[junit] | | | variables
[junit] | | | | scope = d10
[junit] | | | | size = 2
[junit] | | dyscope d12 (id=12, parent=d11, static=71)
[junit] | | | variables
[junit] | | | | result = ($mpi_gcomm){.p2p=&<d10>heap.malloc8[0][0], .col=&<d10>heap.malloc8[1][0], .collect_checker=&<d10>heap.malloc6[0][0], .gbarrier=&<d10>heap.malloc4[0][0]}
[junit] | | dyscope d13 (id=13, parent=d10, static=61)
[junit] | | | variables
[junit] | | | | _mpi_rank = 0
[junit] | | dyscope d14 (id=14, parent=d13, static=82)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 2 at mpithreads_mpi.c:107.0-50 "a = (double*) ... )":
[junit] | | | | | | 0: (real[])INVALID
[junit] | | | | | objects of malloc 3 at mpithreads_mpi.c:108.0-50 "b = (double*) ... )":
[junit] | | | | | | 0: (real[])INVALID
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($barrier[])INVALID
[junit] | | | | | objects of malloc 7:
[junit] | | | | | | 0: ($collect_checker[])INVALID
[junit] | | | | | objects of malloc 9:
[junit] | | | | | | 0: ($comm[])INVALID
[junit] | | | | | | 1: ($comm[])INVALID
[junit] | | | | _mpi_status = 2
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | _gen_root = d14
[junit] | | | | dotstr = ($anon_struct_4){.a=&<d14>heap.malloc2[0][0], .b=&<d14>heap.malloc3[0][0], .sum=5, .veclen=5}
[junit] | | dyscope d15 (id=15, parent=d10, static=61)
[junit] | | | variables
[junit] | | | | _mpi_rank = 1
[junit] | | dyscope d16 (id=16, parent=d15, static=82)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 2 at mpithreads_mpi.c:107.0-50 "a = (double*) ... )":
[junit] | | | | | | 0: (real[])INVALID
[junit] | | | | | objects of malloc 3 at mpithreads_mpi.c:108.0-50 "b = (double*) ... )":
[junit] | | | | | | 0: (real[])INVALID
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($barrier[])INVALID
[junit] | | | | | objects of malloc 7:
[junit] | | | | | | 0: ($collect_checker[])INVALID
[junit] | | | | | objects of malloc 9:
[junit] | | | | | | 0: ($comm[])INVALID
[junit] | | | | | | 1: ($comm[])INVALID
[junit] | | | | _mpi_status = 2
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | _gen_root = d16
[junit] | | | | dotstr = ($anon_struct_4){.a=&<d16>heap.malloc2[0][0], .b=&<d16>heap.malloc3[0][0], .sum=5, .veclen=5}
[junit] | | dyscope d17 (id=17, parent=d10, static=49)
[junit] | | | variables
[junit] | | | | scope = d14
[junit] | | | | gc = ($mpi_gcomm){.p2p=&<d10>heap.malloc8[0][0], .col=&<d10>heap.malloc8[1][0], .collect_checker=&<d10>heap.malloc6[0][0], .gbarrier=&<d10>heap.malloc4[0][0]}
[junit] | | | | rank = 0
[junit] | | dyscope d18 (id=18, parent=d17, static=72)
[junit] | | | variables
[junit] | | | | result = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | dyscope d19 (id=19, parent=d14, static=86)
[junit] | | | variables
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d20 (id=20, parent=d19, static=87)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | dyscope d21 (id=21, parent=d14, static=85)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d19>_gen_argv_tmp[0]
[junit] | | dyscope d22 (id=22, parent=d21, static=89)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | | | len = 5
[junit] | | | | myid = 0
[junit] | | | | numprocs = 2
[junit] | | | | a = &<d14>heap.malloc2[0][0]
[junit] | | | | b = &<d14>heap.malloc3[0][0]
[junit] | | | | mysum = 5
[junit] | | | | allsum = 10
[junit] | | dyscope d23 (id=23, parent=d10, static=51)
[junit] | | | variables
[junit] | | dyscope d24 (id=24, parent=d10, static=32)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | size = &<d22>numprocs
[junit] | | dyscope d25 (id=25, parent=d24, static=68)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d26 (id=26, parent=d10, static=33)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d22>myid
[junit] | | dyscope d27 (id=27, parent=d26, static=69)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d28 (id=28, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d14>heap.malloc9[0][0]
[junit] | | dyscope d29 (id=29, parent=d14, static=84)
[junit] | | | variables
[junit] | | dyscope d30 (id=30, parent=d29, static=88)
[junit] | | | variables
[junit] | | | | i = 5
[junit] | | | | start = 0
[junit] | | | | end = 5
[junit] | | | | myid = 0
[junit] | | | | len = 5
[junit] | | | | mysum = 5
[junit] | | | | x = &<d14>heap.malloc2[0][0]
[junit] | | | | y = &<d14>heap.malloc3[0][0]
[junit] | | dyscope d31 (id=31, parent=d10, static=33)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d30>myid
[junit] | | dyscope d32 (id=32, parent=d31, static=69)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d28 (id=33, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d14>heap.malloc9[0][0]
[junit] | | dyscope d34 (id=34, parent=d10, static=31)
[junit] | | | variables
[junit] | | | | sendbuf = &<d22>mysum
[junit] | | | | recvbuf = &<d22>allsum
[junit] | | | | count = 1
[junit] | | | | datatype = 23
[junit] | | | | op = 3
[junit] | | | | root = 0
[junit] | | | | comm = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | dyscope d35 (id=35, parent=d34, static=67)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | | | place = 0
[junit] | | | | nprocs = 2
[junit] | | | | datatypes = (int[1]){23}
[junit] | | | | checkerEntries = (Entries[1]){
[junit] | | | | | {9998, 0, 3, 1, {23}}}
[junit] | | | | checkPassed = true
[junit] | | dyscope d36 (id=36, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d14>heap.malloc9[1][0]
[junit] | | dyscope d37 (id=37, parent=d10, static=56)
[junit] | | | variables
[junit] | | | | routineTag = 9998
[junit] | | | | root = 0
[junit] | | | | op = 3
[junit] | | | | numDatatypes = 1
[junit] | | | | datatypes = &<d35>datatypes[0]
[junit] | | dyscope d38 (id=38, parent=d37, static=79)
[junit] | | | variables
[junit] | | | | zero = 0
[junit] | | | | bundledEntries = (Entries[1]){
[junit] | | | | | {9998, 0, 3, 1, {23}}}
[junit] | | | | entries = (Entries){
[junit] | | | | | .routine_tag=9998,
[junit] | | | | | .root=0,
[junit] | | | | | .op=3,
[junit] | | | | | .numTypes=1,
[junit] | | | | | .datatypes={23}}
[junit] | | dyscope d39 (id=39, parent=d38, static=80)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | dyscope d40 (id=40, parent=d10, static=54)
[junit] | | | variables
[junit] | | | | sendbuf = &<d22>mysum
[junit] | | | | recvbuf = &<d22>allsum
[junit] | | | | count = 1
[junit] | | | | datatype = 23
[junit] | | | | op = 3
[junit] | | | | root = 0
[junit] | | | | tag = 9998
[junit] | | | | comm = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | routName = "MPI_Reduce()"
[junit] | | | | MPICommId = 0
[junit] | | dyscope d41 (id=41, parent=d40, static=75)
[junit] | | | variables
[junit] | | | | rank = 0
[junit] | | dyscope d36 (id=42, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d14>heap.malloc9[1][0]
[junit] | | dyscope d43 (id=43, parent=d41, static=76)
[junit] | | | variables
[junit] | | | | nprocs = 2
[junit] | | | | size = SIZEOF_REAL
[junit] | | | | $sef$1 = SIZEOF_REAL
[junit] | | dyscope d44 (id=44, parent=d10, static=44)
[junit] | | | variables
[junit] | | | | datatype = 23
[junit] | | dyscope d45 (id=45, parent=d10, static=60)
[junit] | | | variables
[junit] | | | | p = &<d22>allsum
[junit] | | | | q = &<d22>mysum
[junit] | | | | size = SIZEOF_REAL
[junit] | | dyscope d46 (id=46, parent=d45, static=81)
[junit] | | | variables
[junit] | | | | bundle = (real[1]){
[junit] | | | | | 5}
[junit] | | dyscope d47 (id=47, parent=d43, static=77)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d48 (id=48, parent=d47, static=78)
[junit] | | | variables
[junit] | | | | colTag = 9998
[junit] | | | | in = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=9998,
[junit] | | | | | .data={
[junit] | | | | | | 5},
[junit] | | | | | .size=SIZEOF_REAL}
[junit] | | dyscope d49 (id=49, parent=d10, static=49)
[junit] | | | variables
[junit] | | | | scope = d16
[junit] | | | | gc = ($mpi_gcomm){.p2p=&<d10>heap.malloc8[0][0], .col=&<d10>heap.malloc8[1][0], .collect_checker=&<d10>heap.malloc6[0][0], .gbarrier=&<d10>heap.malloc4[0][0]}
[junit] | | | | rank = 1
[junit] | | dyscope d50 (id=50, parent=d49, static=72)
[junit] | | | variables
[junit] | | | | result = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | dyscope d51 (id=51, parent=d16, static=86)
[junit] | | | variables
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d52 (id=52, parent=d51, static=87)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | dyscope d53 (id=53, parent=d16, static=85)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d51>_gen_argv_tmp[0]
[junit] | | dyscope d54 (id=54, parent=d53, static=89)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | | | len = 5
[junit] | | | | myid = 1
[junit] | | | | numprocs = 2
[junit] | | | | a = &<d16>heap.malloc2[0][0]
[junit] | | | | b = &<d16>heap.malloc3[0][0]
[junit] | | | | mysum = 5
[junit] | | | | allsum = NULL
[junit] | | dyscope d23 (id=55, parent=d10, static=51)
[junit] | | | variables
[junit] | | dyscope d56 (id=56, parent=d10, static=32)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | size = &<d54>numprocs
[junit] | | dyscope d57 (id=57, parent=d56, static=68)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d58 (id=58, parent=d10, static=33)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d54>myid
[junit] | | dyscope d59 (id=59, parent=d58, static=69)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d60 (id=60, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d16>heap.malloc9[0][0]
[junit] | | dyscope d61 (id=61, parent=d16, static=84)
[junit] | | | variables
[junit] | | dyscope d62 (id=62, parent=d61, static=88)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | | | start = 5
[junit] | | | | end = 10
[junit] | | | | myid = 1
[junit] | | | | len = 5
[junit] | | | | mysum = 5
[junit] | | | | x = &<d16>heap.malloc2[0][0]
[junit] | | | | y = &<d16>heap.malloc3[0][0]
[junit] | | dyscope d63 (id=63, parent=d10, static=33)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d62>myid
[junit] | | dyscope d64 (id=64, parent=d63, static=69)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d60 (id=65, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d16>heap.malloc9[0][0]
[junit] | | dyscope d66 (id=66, parent=d10, static=31)
[junit] | | | variables
[junit] | | | | sendbuf = &<d54>mysum
[junit] | | | | recvbuf = &<d54>allsum
[junit] | | | | count = 1
[junit] | | | | datatype = 23
[junit] | | | | op = 3
[junit] | | | | root = 0
[junit] | | | | comm = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | dyscope d67 (id=67, parent=d66, static=67)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | | | place = 1
[junit] | | | | nprocs = 2
[junit] | | | | datatypes = (int[1]){23}
[junit] | | | | checkerEntries = (Entries[1]){
[junit] | | | | | {9998, 0, 3, 1, {23}}}
[junit] | | | | checkPassed = true
[junit] | | dyscope d68 (id=68, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d16>heap.malloc9[1][0]
[junit] | | dyscope d69 (id=69, parent=d10, static=56)
[junit] | | | variables
[junit] | | | | routineTag = 9998
[junit] | | | | root = 0
[junit] | | | | op = 3
[junit] | | | | numDatatypes = 1
[junit] | | | | datatypes = &<d67>datatypes[0]
[junit] | | dyscope d70 (id=70, parent=d69, static=79)
[junit] | | | variables
[junit] | | | | zero = 0
[junit] | | | | bundledEntries = (Entries[1]){
[junit] | | | | | {9998, 0, 3, 1, {23}}}
[junit] | | | | entries = (Entries){
[junit] | | | | | .routine_tag=9998,
[junit] | | | | | .root=0,
[junit] | | | | | .op=3,
[junit] | | | | | .numTypes=1,
[junit] | | | | | .datatypes={23}}
[junit] | | dyscope d71 (id=71, parent=d70, static=80)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | dyscope d72 (id=72, parent=d10, static=54)
[junit] | | | variables
[junit] | | | | sendbuf = &<d54>mysum
[junit] | | | | recvbuf = &<d54>allsum
[junit] | | | | count = 1
[junit] | | | | datatype = 23
[junit] | | | | op = 3
[junit] | | | | root = 0
[junit] | | | | tag = 9998
[junit] | | | | comm = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | | | routName = "MPI_Reduce()"
[junit] | | | | MPICommId = 0
[junit] | | dyscope d73 (id=73, parent=d72, static=75)
[junit] | | | variables
[junit] | | | | rank = 1
[junit] | | dyscope d68 (id=74, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d16>heap.malloc9[1][0]
[junit] | | dyscope d75 (id=75, parent=d10, static=53)
[junit] | | | variables
[junit] | | | | buf = &<d54>mysum
[junit] | | | | count = 1
[junit] | | | | datatype = 23
[junit] | | | | dest = 0
[junit] | | | | tag = 9998
[junit] | | | | comm = &<d16>heap.malloc9[1][0]
[junit] | | | | MPICommId = 0
[junit] | | dyscope d76 (id=76, parent=d75, static=74)
[junit] | | | variables
[junit] | | | | $sef$0 = SIZEOF_REAL
[junit] | | | | size = SIZEOF_REAL
[junit] | | | | place = 1
[junit] | | | | out = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=9998,
[junit] | | | | | .data={
[junit] | | | | | | 5},
[junit] | | | | | .size=SIZEOF_REAL}
[junit] | | dyscope d44 (id=77, parent=d10, static=44)
[junit] | | | variables
[junit] | | | | datatype = 23
[junit] | | dyscope d68 (id=78, parent=d10, static=41)
[junit] | | | variables
[junit] | | | | comm = &<d16>heap.malloc9[1][0]
[junit] | | dyscope d79 (id=79, parent=d10, static=34)
[junit] | | | variables
[junit] | | | | source = 1
[junit] | | | | dest = 0
[junit] | | | | tag = 9998
[junit] | | | | data = &<d54>mysum
[junit] | | | | size = SIZEOF_REAL
[junit] | | dyscope d80 (id=80, parent=d79, static=70)
[junit] | | | variables
[junit] | | | | result = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=9998,
[junit] | | | | | .data={
[junit] | | | | | | 5},
[junit] | | | | | .size=SIZEOF_REAL}
[junit] | | dyscope d81 (id=81, parent=d10, static=35)
[junit] | | | variables
[junit] | | | | message = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=9998,
[junit] | | | | | .data={
[junit] | | | | | | 5},
[junit] | | | | | .size=SIZEOF_REAL}
[junit] | | dyscope d82 (id=82, parent=d10, static=52)
[junit] | | | variables
[junit] | | dyscope d83 (id=83, parent=d10, static=50)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d16>heap.malloc9[0][0], .col=&<d16>heap.malloc9[1][0], .collect_checker=&<d16>heap.malloc7[0][0], .barrier=&<d16>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | dyscope d84 (id=84, parent=d83, static=73)
[junit] | | | variables
[junit] | | | | curr_status = 2
[junit] | | dyscope d82 (id=85, parent=d10, static=52)
[junit] | | | variables
[junit] | | dyscope d86 (id=86, parent=d10, static=50)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d14>heap.malloc9[0][0], .col=&<d14>heap.malloc9[1][0], .collect_checker=&<d14>heap.malloc7[0][0], .barrier=&<d14>heap.malloc5[0][0], .gcommIndex=0}
[junit] | | dyscope d87 (id=87, parent=d86, static=73)
[junit] | | | variables
[junit] | | | | curr_status = 2
[junit] | | dyscope d88 (id=88, parent=d10, static=48)
[junit] | | | variables
[junit] | | | | gc = ($mpi_gcomm){.p2p=&<d10>heap.malloc8[0][0], .col=&<d10>heap.malloc8[1][0], .collect_checker=&<d10>heap.malloc6[0][0], .gbarrier=&<d10>heap.malloc4[0][0]}
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=11, mpithreads_serial.c:36.0-7 "$output", dyscope=d1]
[junit] | | process - (id=1): null
[junit] | | process - (id=2): null
[junit]
[junit] Trace ends after 295 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay -spec examples/compare/dot/mpithreads_serial.c -impl -input_mpi_nprocs=2 examples/compare/dot/mpithreads_mpi.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.97
[junit] memory (bytes) : 686292992
[junit] max process count : 3
[junit] states : 583
[junit] states Saved : 306
[junit] valid calls : 1910
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Specification and implementation have different values for the output _sum!
[junit]
[junit] Violation 0 encountered at depth 167:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpithreads_serial.c:36.0-19 "$output double _sum":
[junit] Context: (0 <= SIZEOF_REAL+-1) && (0 <= -1*X0+9) && (0 <= X0+-1)
[junit] Assertion voilated: $assert_equals(&(_sum_spec), &(_sum), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(_sum_spec)=&<d0>_sum_spec
[junit] &(_sum)=&<d0>_sum
[junit] Result:
[junit] <d0>_sum_spec=5
[junit] <d0>_sum=10
[junit]
[junit] Context:
[junit] (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mpithreads_serial.c:36.0-7 "$output"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/Composite_mpithreads_serial_mpithreads_threads_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl compare -enablePrintf=false -inputVECLEN=5 -spec examples/compare/dot/mpithreads_serial.c -impl -inputMAXTHRDS=2 examples/compare/dot/mpithreads_threads.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.44
[junit] memory (bytes) : 686292992
[junit] max process count : 3
[junit] states : 367
[junit] states saved : 171
[junit] state matches : 0
[junit] transitions : 367
[junit] trace steps : 166
[junit] valid calls : 441
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/Composite_mpithreads_serial_mpithreads_threads_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl compare -enablePrintf=false -inputVECLEN=5 -spec -inputMAXTHRDS=2 examples/compare/dot/mpithreads_threads.c -impl -input_mpi_nprocs=2 examples/compare/dot/mpithreads_mpi.c
[junit]
[junit] === Stats ===
[junit] time (s) : 6.01
[junit] memory (bytes) : 773324800
[junit] max process count : 3
[junit] states : 3921
[junit] states saved : 1497
[junit] state matches : 701
[junit] transitions : 4620
[junit] trace steps : 2187
[junit] valid calls : 8810
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Specification and implementation have different values for the output result!
[junit]
[junit] Violation 0 encountered at depth 43:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at max.cvl:6.0-18 "$output int result":
[junit] Context: (0 <= -1*X1[1]+X1[2]+-1) && (0 <= X1[1]+-1*X1[0]+-1) && (0 <= X1[0]+-1)
[junit] Assertion voilated: $assert_equals(&(result_spec), &(result), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(result_spec)=&<d0>result_spec
[junit] &(result)=&<d0>result
[junit] Result:
[junit] <d0>result_spec=X1[2]
[junit] <d0>result=X1[1]
[junit]
[junit] Context:
[junit] (0<=-1*X1[1]+X1[2]+-1) && (0<=X1[1]+-1*X1[0]+-1) && (0<=X1[0]+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at max.cvl:6.0-7 "$output"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/Composite_max_max_0.trace
[junit] Restricting search depth to 42
[junit] Specification and implementation have different values for the output result!
[junit]
[junit] Violation 1 encountered at depth 40:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at max.cvl:6.0-18 "$output int result":
[junit] Context: (0 <= -1*X1[1]+X1[2]+-1) && (0 <= -1*X1[1]) && (0 <= X1[1]+-1*X1[0]+-1) && (0 <= -1*X1[2]) && (0 <= -1*X1[0])
[junit] Assertion voilated: $assert_equals(&(result_spec), &(result), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(result_spec)=&<d0>result_spec
[junit] &(result)=&<d0>result
[junit] Result:
[junit] <d0>result_spec=X1[2]
[junit] <d0>result=0
[junit]
[junit] Context:
[junit] (0<=-1*X1[1]+X1[2]+-1) && (0<=-1*X1[1]) && (0<=X1[1]+-1*X1[0]+-1) && (0<=-1*X1[2]) && (0<=-1*X1[0])
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at max.cvl:6.0-7 "$output"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (40) is less than length of old (43): replacing old with new...
[junit] Restricting search depth to 39
[junit] Specification and implementation have different values for the output result!
[junit]
[junit] Violation 2 encountered at depth 33:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at max.cvl:6.0-18 "$output int result":
[junit] Context: (0 <= -1*X1[1]) && (0 <= X1[1]+-1*X1[0]+-1) && (0 <= -1*X1[0])
[junit] Assertion voilated: $assert_equals(&(result_spec), &(result), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(result_spec)=&<d0>result_spec
[junit] &(result)=&<d0>result
[junit] Result:
[junit] <d0>result_spec=X1[1]
[junit] <d0>result=0
[junit]
[junit] Context:
[junit] (0<=-1*X1[1]) && (0<=X1[1]+-1*X1[0]+-1) && (0<=-1*X1[0])
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at max.cvl:6.0-7 "$output"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (33) is less than length of old (40): replacing old with new...
[junit] Restricting search depth to 32
[junit] Specification and implementation have different values for the output result!
[junit]
[junit] Violation 3 encountered at depth 26:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at max.cvl:6.0-18 "$output int result":
[junit] Context: 0 <= -1*X1[0]
[junit] Assertion voilated: $assert_equals(&(result_spec), &(result), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(result_spec)=&<d0>result_spec
[junit] &(result)=&<d0>result
[junit] Result:
[junit] <d0>result_spec=X1[0]
[junit] <d0>result=0
[junit]
[junit] Context:
[junit] 0<=-1*X1[0]
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at max.cvl:6.0-7 "$output"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (26) is less than length of old (33): replacing old with new...
[junit] Restricting search depth to 25
[junit]
[junit] === Command ===
[junit] civl compare -inputB=4 -min -spec examples/compare/max/max.cvl examples/compare/max/max_seq.cvl -impl -inputNPROCS=2 -inputBLOCK_SIZE=2 examples/compare/max/max.cvl examples/compare/max/max_par.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 1.03
[junit] memory (bytes) : 773324800
[junit] max process count : 3
[junit] states : 1337
[junit] states saved : 945
[junit] state matches : 19
[junit] transitions : 1358
[junit] trace steps : 920
[junit] valid calls : 5850
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 226
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/Composite_max_max_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Specification and implementation have different values for the output result!
[junit] Error 0:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at max.cvl:6.0-18 "$output int result":
[junit] Context: 0 <= -1*X1[0]
[junit] Assertion voilated: $assert_equals(&(result_spec), &(result), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(result_spec)=&<d0>result_spec
[junit] &(result)=&<d0>result
[junit] Result:
[junit] <d0>result_spec=X1[0]
[junit] <d0>result=0
[junit] State -1:75875
[junit] | Path condition
[junit] | | 0<=-1*X1[0]
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | N = 1
[junit] | | | | a = (int[1])X1
[junit] | | | | B = 4
[junit] | | | | BLOCK_SIZE = 2
[junit] | | | | NPROCS = 2
[junit] | | | | result_spec = X1[0]
[junit] | | | | result = 0
[junit] | | | | _anon_0 = "Specification and implementation have different values for the output result!"
[junit] | | dyscope d1 (id=1, parent=d0, static=6)
[junit] | | | variables
[junit] | | | | _isEqual = NULL
[junit] | | dyscope d2 (id=2, parent=d0, static=4)
[junit] | | | variables
[junit] | | dyscope d3 (id=3, parent=d2, static=7)
[junit] | | | variables
[junit] | | dyscope d4 (id=4, parent=d3, static=9)
[junit] | | | variables
[junit] | | | | array = &<d0>a[0]
[junit] | | | | length = 1
[junit] | | dyscope d5 (id=5, parent=d4, static=14)
[junit] | | | variables
[junit] | | | | max = X1[0]
[junit] | | dyscope d6 (id=6, parent=d5, static=15)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | dyscope d7 (id=7, parent=d0, static=5)
[junit] | | | variables
[junit] | | dyscope d8 (id=8, parent=d7, static=10)
[junit] | | | variables
[junit] | | dyscope d9 (id=9, parent=d8, static=13)
[junit] | | | variables
[junit] | | | | array = &<d0>a[0]
[junit] | | | | length = 1
[junit] | | dyscope d10 (id=10, parent=d9, static=16)
[junit] | | | variables
[junit] | | | | myMax = 0
[junit] | | | | procs = (process[2]){UNDEFINED, UNDEFINED}
[junit] | | dyscope d11 (id=11, parent=d10, static=18)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d12 (id=12, parent=d10, static=17)
[junit] | | | variables
[junit] | | | | id = 0
[junit] | | dyscope d13 (id=13, parent=d12, static=20)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | dyscope d14 (id=14, parent=d10, static=17)
[junit] | | | variables
[junit] | | | | id = 1
[junit] | | dyscope d15 (id=15, parent=d14, static=20)
[junit] | | | variables
[junit] | | | | i = 0
[junit] | | dyscope d16 (id=16, parent=d10, static=19)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d17 (id=17, parent=d13, static=21)
[junit] | | | variables
[junit] | | | | currentIndex = 0
[junit] | | dyscope d18 (id=18, parent=d15, static=21)
[junit] | | | variables
[junit] | | | | currentIndex = 2
[junit] | | dyscope d19 (id=19, parent=d13, static=21)
[junit] | | | variables
[junit] | | | | currentIndex = 1
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=10, max.cvl:6.0-7 "$output", dyscope=d1]
[junit] | | process - (id=1): null
[junit] | | process - (id=2): null
[junit]
[junit] Trace ends after 26 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay -min -spec examples/compare/max/max.cvl examples/compare/max/max_seq.cvl -impl examples/compare/max/max.cvl examples/compare/max/max_par.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 773324800
[junit] max process count : 3
[junit] states : 59
[junit] states Saved : 28
[junit] valid calls : 85
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 10
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl compare -inputN=10 -spec examples/compare/./sumNspec.cvl -impl examples/compare/./sumNimpl.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 773324800
[junit] max process count : 1
[junit] states : 46
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 45
[junit] trace steps : 5
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] //====================== adder_par.cvl =====================
[junit] void $assert(_Bool expression);
[junit] _Bool $defined(void* obj);
[junit] _Bool $assert_equals(void* first, void* second, ...);
[junit] //===================== adder_spec.cvl =====================
[junit] $input int NPROCS;
[junit] $input int NPROCSB;
[junit] $input int N;
[junit] $input int NB;
[junit] $input double a[N];
[junit] //====================== adder_par.cvl =====================
[junit] double SUM_spec;
[junit] //===================== adder_spec.cvl =====================
[junit] double SUM;
[junit] //====================== adder_par.cvl =====================
[junit] int system_spec()
[junit] {
[junit] typedef struct $proc $proc;
[junit] typedef struct $scope $scope;
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] int printf(restrict char* format, ...);
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] typedef struct $bundle $bundle;
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] typedef struct $gbarrier* $gbarrier;
[junit] typedef struct $barrier* $barrier;
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] typedef struct $collect_record $collect_record;
[junit] typedef struct $gcollect_checker* $gcollect_checker;
[junit] typedef struct $collect_checker* $collect_checker;
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] typedef enum $anon_enum_0{
[junit] MPI_CHAR,
[junit] MPI_CHARACTER,
[junit] MPI_SIGNED_CHAR,
[junit] MPI_UNSIGNED_CHAR,
[junit] MPI_BYTE,
[junit] MPI_WCHAR,
[junit] MPI_SHORT,
[junit] MPI_UNSIGNED_SHORT,
[junit] MPI_INT,
[junit] MPI_INT16_T,
[junit] MPI_INT32_T,
[junit] MPI_INT64_T,
[junit] MPI_INT8_T,
[junit] MPI_INTEGER,
[junit] MPI_INTEGER1,
[junit] MPI_INTEGER16,
[junit] MPI_INTEGER2,
[junit] MPI_INTEGER4,
[junit] MPI_INTEGER8,
[junit] MPI_UNSIGNED,
[junit] MPI_LONG,
[junit] MPI_UNSIGNED_LONG,
[junit] MPI_FLOAT,
[junit] MPI_DOUBLE,
[junit] MPI_LONG_DOUBLE,
[junit] MPI_LONG_LONG_INT,
[junit] MPI_UNSIGNED_LONG_LONG,
[junit] MPI_LONG_LONG,
[junit] MPI_PACKED,
[junit] MPI_LB,
[junit] MPI_UB,
[junit] MPI_UINT16_T,
[junit] MPI_UINT32_T,
[junit] MPI_UINT64_T,
[junit] MPI_UINT8_T,
[junit] MPI_FLOAT_INT,
[junit] MPI_DOUBLE_INT,
[junit] MPI_LONG_INT,
[junit] MPI_SHORT_INT,
[junit] MPI_2INT,
[junit] MPI_LONG_DOUBLE_INT,
[junit] MPI_AINT,
[junit] MPI_OFFSET,
[junit] MPI_2DOUBLE_PRECISION,
[junit] MPI_2INTEGER,
[junit] MPI_2REAL,
[junit] MPI_C_BOOL,
[junit] MPI_C_COMPLEX,
[junit] MPI_C_DOUBLE_COMPLEX,
[junit] MPI_C_FLOAT_COMPLEX,
[junit] MPI_C_LONG_DOUBLE_COMPLEX,
[junit] MPI_COMPLEX,
[junit] MPI_COMPLEX16,
[junit] MPI_COMPLEX32,
[junit] MPI_COMPLEX4,
[junit] MPI_COMPLEX8,
[junit] MPI_REAL,
[junit] MPI_REAL16,
[junit] MPI_REAL2,
[junit] MPI_REAL4,
[junit] MPI_REAL8
[junit] } MPI_Datatype;
[junit] typedef struct MPI_Comm MPI_Comm;
[junit] typedef struct MPI_Status{
[junit] int MPI_SOURCE;
[junit] int MPI_TAG;
[junit] int MPI_ERROR;
[junit] int size;
[junit] } MPI_Status;
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_size(MPI_Comm, int*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] typedef struct $message{
[junit] int source;
[junit] int dest;
[junit] int tag;
[junit] $bundle data;
[junit] int size;
[junit] } $message;
[junit] typedef struct $queue $queue;
[junit] typedef struct $gcomm* $gcomm;
[junit] typedef struct $comm* $comm;
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_size($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] typedef enum _mpi_sys_status_{
[junit] __UNINIT,
[junit] __INIT,
[junit] __FINALIZED
[junit] } $mpi_sys_status;
[junit] typedef struct MPI_Comm MPI_Comm;
[junit] typedef struct $mpi_gcomm $mpi_gcomm;
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] struct MPI_Comm{
[junit] $comm p2p;
[junit] $comm col;
[junit] $collect_checker collect_checker;
[junit] $barrier barrier;
[junit] int gcommIndex;
[junit] }
[junit] int MPI_Comm_size(MPI_Comm comm, int* size)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n");
[junit] *size = $comm_size(comm.p2p);
[junit] return 0;
[junit] }
[junit] int MPI_Comm_rank(MPI_Comm comm, int* rank)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n");
[junit] *rank = $comm_place(comm.p2p);
[junit] return 0;
[junit] }
[junit] int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Send() cannot be invoked without MPI_Init() being called before.\n");
[junit] $mpi_assertConsistentType(buf, datatype);
[junit] int $sef$0 = $mpi_send(buf, count, datatype, dest, tag, comm.p2p, comm.gcommIndex);
[junit] return $sef$0;
[junit] }
[junit] int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status* status)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n");
[junit] $mpi_assertConsistentType(buf, datatype);
[junit] int $sef$1 = $mpi_recv(buf, count, datatype, source, tag, comm.p2p, status, comm.gcommIndex);
[junit] return $sef$1;
[junit] }
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_size($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_size(MPI_Comm, int*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] struct $mpi_gcomm{
[junit] $gcomm p2p;
[junit] $gcomm col;
[junit] $gcollect_checker collect_checker;
[junit] $gbarrier gbarrier;
[junit] }
[junit] int sizeofDatatype(MPI_Datatype datatype)
[junit] {
[junit] switch(datatype)
[junit] {
[junit] case MPI_INT:
[junit] return sizeof(int);
[junit] case MPI_2INT:
[junit] return sizeof(int) * 2;
[junit] case MPI_FLOAT:
[junit] return sizeof(float);
[junit] case MPI_DOUBLE:
[junit] return sizeof(double);
[junit] case MPI_CHAR:
[junit] return sizeof(char);
[junit] case MPI_BYTE:
[junit] return sizeof(char);
[junit] case MPI_SHORT:
[junit] return sizeof(short);
[junit] case MPI_LONG:
[junit] return sizeof(long);
[junit] case MPI_LONG_DOUBLE:
[junit] return sizeof(long double);
[junit] case MPI_LONG_LONG_INT:
[junit] return sizeof(long long);
[junit] case MPI_LONG_LONG:
[junit] return sizeof(long long);
[junit] case MPI_UNSIGNED_LONG_LONG:
[junit] return sizeof(unsigned long long);
[junit] default:
[junit] $assert(0, "Unreachable");
[junit] }
[junit] }
[junit] $mpi_gcomm $mpi_gcomm_create($scope scope, int size)
[junit] {
[junit] $mpi_gcomm result;
[junit] result.p2p = $gcomm_create(scope, size);
[junit] result.col = $gcomm_create(scope, size);
[junit] result.collect_checker = $gcollect_checker_create(scope);
[junit] result.gbarrier = $gbarrier_create(scope, size);
[junit] return result;
[junit] }
[junit] void $mpi_gcomm_destroy($mpi_gcomm gc)
[junit] {
[junit] $gcomm_destroy(gc.p2p);
[junit] $gcomm_destroy(gc.col);
[junit] $gcollect_checker_destroy(gc.collect_checker);
[junit] $gbarrier_destroy(gc.gbarrier);
[junit] }
[junit] MPI_Comm $mpi_comm_create($scope scope, $mpi_gcomm gc, int rank)
[junit] {
[junit] MPI_Comm result;
[junit] result.p2p = $comm_create(scope, gc.p2p, rank);
[junit] result.col = $comm_create(scope, gc.col, rank);
[junit] result.collect_checker = $collect_checker_create(scope, gc.collect_checker);
[junit] result.barrier = $barrier_create(scope, gc.gbarrier, rank);
[junit] result.gcommIndex = 0;
[junit] return result;
[junit] }
[junit] void $mpi_comm_destroy(MPI_Comm comm)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] if(comm.gcommIndex == 0)
[junit] $assert(curr_status == __FINALIZED, "Process terminates without calling MPI_Finalize() first.");
[junit] $comm_destroy(comm.p2p);
[junit] $comm_destroy(comm.col);
[junit] $collect_checker_destroy(comm.collect_checker);
[junit] $barrier_destroy(comm.barrier);
[junit] }
[junit] int $mpi_init(void)
[junit] {
[junit] $mpi_set_status(__INIT);
[junit] return 0;
[junit] }
[junit] int $mpi_finalize(void)
[junit] {
[junit] $mpi_set_status(__FINALIZED);
[junit] return 0;
[junit] }
[junit] int $mpi_send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, $comm comm, int MPICommId)
[junit] {
[junit] if(dest >= 0)
[junit] {
[junit] int $sef$2 = sizeofDatatype(datatype);
[junit] int size = count * $sef$2;
[junit] int place = $comm_place(comm);
[junit] $message out = $message_pack(place, dest, tag, buf, size);
[junit] $comm_enqueue(comm, out);
[junit] }
[junit] return 0;
[junit] }
[junit] int $mpi_recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, $comm comm, MPI_Status* status, int MPICommId)
[junit] {
[junit] if((source >= 0) || (source == (-1)))
[junit] {
[junit] $message in;
[junit] $elaborate(source);
[junit] in = $comm_dequeue(comm, source, tag);
[junit] int $sef$3 = sizeofDatatype(datatype);
[junit] int size = count * $sef$3;
[junit] $message_unpack(in, buf, size);
[junit] if(status != (void*)0)
[junit] {
[junit] (status)->size = $message_size(in);
[junit] (status)->MPI_SOURCE = $message_source(in);
[junit] (status)->MPI_TAG = $message_tag(in);
[junit] (status)->MPI_ERROR = 0;
[junit] }
[junit] }
[junit] return 0;
[junit] }
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_size($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] struct $queue{
[junit] int length;
[junit] $message messages[];
[junit] }
[junit] struct $gcomm{
[junit] int nprocs;
[junit] $proc procs[];
[junit] _Bool isInit[];
[junit] $queue buf[][];
[junit] }
[junit] struct $comm{
[junit] int place;
[junit] $gcomm gcomm;
[junit] }
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size)
[junit] {
[junit] $message result;
[junit] result.source = source;
[junit] result.dest = dest;
[junit] result.tag = tag;
[junit] result.data = $bundle_pack(data, size);
[junit] result.size = size;
[junit] return result;
[junit] }
[junit] int $message_source($message message)
[junit] {
[junit] return message.source;
[junit] }
[junit] int $message_tag($message message)
[junit] {
[junit] return message.tag;
[junit] }
[junit] int $message_size($message message)
[junit] {
[junit] return message.size;
[junit] }
[junit] void $message_unpack($message message, void* buf, int size)
[junit] {
[junit] $bundle_unpack(message.data, buf);
[junit] $assert(message.size <= size, "Message of size %d exceeds the specified size %d.", message.size, size);
[junit] }
[junit] int $comm_place($comm comm)
[junit] {
[junit] return (comm)->place;
[junit] }
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] struct $gbarrier{
[junit] int nprocs;
[junit] $proc proc_map[];
[junit] _Bool in_barrier[];
[junit] int num_in_barrier;
[junit] }
[junit] struct $barrier{
[junit] int place;
[junit] $gbarrier gbarrier;
[junit] }
[junit] struct $collect_record{
[junit] $bundle entries;
[junit] _Bool marks[];
[junit] int numMarked;
[junit] }
[junit] struct $gcollect_checker{
[junit] int length;
[junit] $collect_record records[];
[junit] }
[junit] struct $collect_checker{
[junit] $gcollect_checker checker;
[junit] }
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] int printf(restrict char* format, ...);
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_size(MPI_Comm, int*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_size($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] $assume((0 < N) && (N < NB));
[junit] $assume((0 < NPROCS) && (NPROCS <= NPROCSB));
[junit] $assume(NPROCS <= N);
[junit] $mpi_gcomm __MPI_COMM_WORLD;
[junit] void _mpi_process(int place)
[junit] {
[junit] double sum;
[junit] double localSum = 0.0;
[junit] int PID;
[junit] int nprocs;
[junit] MPI_Comm MPI_COMM_WORLD;
[junit] $mpi_sys_status _mpi_status = __UNINIT;
[junit] $assert(_mpi_status == __UNINIT);
[junit] double computeGlobalSum()
[junit] {
[junit] double result = localSum;
[junit] double buffer;
[junit] int i;
[junit] MPI_Status status;
[junit] for(i = 1; i < nprocs; i = i + 1)
[junit] {
[junit] MPI_Recv(&(buffer), 1, MPI_DOUBLE, i, 0, MPI_COMM_WORLD, &(status));
[junit] result = result + buffer;
[junit] }
[junit] return result;
[junit] }
[junit] int _main()
[junit] {
[junit] int first;
[junit] int afterLast;
[junit] int i;
[junit] MPI_COMM_WORLD = $mpi_comm_create($here, __MPI_COMM_WORLD, place);
[junit] $mpi_init();
[junit] MPI_Comm_size(MPI_COMM_WORLD, &(nprocs));
[junit] MPI_Comm_rank(MPI_COMM_WORLD, &(PID));
[junit] first = (N * PID) / nprocs;
[junit] afterLast = (N * (PID + 1)) / nprocs;
[junit] for(i = first; i < afterLast; i = i + 1)
[junit] localSum = localSum + (a[i]);
[junit] if(PID == 0)
[junit] {
[junit] sum = computeGlobalSum();
[junit] SUM_spec = sum;
[junit] printf("%lf\n", sum);
[junit] }
[junit] else
[junit] {
[junit] MPI_Send(&(localSum), 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD);
[junit] }
[junit] $mpi_finalize();
[junit] $mpi_comm_destroy(MPI_COMM_WORLD);
[junit] return 0;
[junit] }
[junit] _main();
[junit] }
[junit] {
[junit] int i = 0;
[junit] for(; i < NPROCS; i = i + 1)
[junit] ;
[junit] }
[junit] {
[junit] int i = 0;
[junit] for(; i < N; i = i + 1)
[junit] ;
[junit] }
[junit] $proc procs[NPROCS];
[junit] __MPI_COMM_WORLD = $mpi_gcomm_create($root, NPROCS);
[junit] {
[junit] int i = 0;
[junit] for(; i < NPROCS; i = i + 1)
[junit] procs[i] = $spawn _mpi_process(i);
[junit] }
[junit] {
[junit] int i = 0;
[junit] for(; i < NPROCS; i = i + 1)
[junit] $wait(procs[i]);
[junit] }
[junit] $mpi_gcomm_destroy(__MPI_COMM_WORLD);
[junit] }
[junit] //===================== adder_spec.cvl =====================
[junit] int system_impl()
[junit] {
[junit] void $assume(_Bool expr);
[junit] void $assume(_Bool expr);
[junit] int printf(restrict char* format, ...);
[junit] void $assume(_Bool expr);
[junit] int printf(restrict char* format, ...);
[junit] $assume((0 < N) && (N < NB));
[junit] double result = 0.0;
[junit] int n = N;
[junit] int i;
[junit] for(i = 0; i < n; i = i + 1)
[junit] result = result + (a[i]);
[junit] SUM = result;
[junit] printf("%lf\n", result);
[junit] }
[junit] //====================== adder_par.cvl =====================
[junit] void main()
[junit] {
[junit] _Bool _isEqual;
[junit] system_spec();
[junit] system_impl();
[junit] $assert_equals(&(SUM_spec), &(SUM), "Specification and implementation have different values for the output SUM!");
[junit] }
[junit]
[junit] === Command ===
[junit] civl compare -showProgram -enablePrintf=false -inputNPROCSB=2 -inputNB=4 -spec examples/compare/adder/adder_par.cvl -impl examples/compare/adder/adder_spec.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.75
[junit] memory (bytes) : 749207552
[junit] max process count : 3
[junit] states : 815
[junit] states saved : 354
[junit] state matches : 0
[junit] transitions : 812
[junit] trace steps : 341
[junit] valid calls : 996
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 17
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 499:
[junit] CIVL execution violation in p2 (id = 2) (kind: MEMORY_LEAK, certainty: PROVEABLE)
[junit] at MPITransformer:0.-1-20 "{\n$mpi_sys_status ..." inserted by MPITransformer.function body of _mpi_process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>":
[junit] The dyscope d16(id=10) has a non-empty heap upon termination.
[junit] heap
[junit] | objects of malloc 2 at mpithreads_both.c:131.0-59 "a = (double*) ... )":
[junit] | | 0: (real[])INVALID
[junit] | objects of malloc 3 at mpithreads_both.c:132.0-59 "b = (double*) ... )":
[junit] | | 0: (real[])INVALID
[junit] | objects of malloc 5:
[junit] | | 0: ($barrier[])INVALID
[junit] | objects of malloc 7:
[junit] | | 0: ($collect_checker[])INVALID
[junit] | objects of malloc 9:
[junit] | | 0: ($comm[])INVALID
[junit] | | 1: ($comm[])INVALID
[junit] | objects of malloc 10:
[junit] | | 0: (_pthread_gpool_t[1]){
[junit] | | | {
[junit] | | | | .threads={&<d16>callThd[0], &<d16>callThd[1]}}}
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-2)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] system_impl at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>" called from
[junit] _CIVL_system at MPITransformer:0.-1-20 "int main()\n{\n $pa..." inserted by MPITransformer.definition of the main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] _gen_main at mpithreads_both.c:178.8-12 "_sum" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before mpithreads_both.c:114.13-17 "argc"
[junit] process p2 (id=2):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/Composite_mpithreads_serial_mpithreads_both_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl compare -enablePrintf=false -inputVECLEN=5 -spec examples/compare/dot/mpithreads_serial.c -impl -input_mpi_nprocs=2 -inputMAXTHRDS=2 examples/compare/dot/mpithreads_both.c
[junit]
[junit] === Stats ===
[junit] time (s) : 7.15
[junit] memory (bytes) : 862978048
[junit] max process count : 7
[junit] states : 930
[junit] states saved : 509
[junit] state matches : 0
[junit] transitions : 929
[junit] trace steps : 498
[junit] valid calls : 3226
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/Composite_mpithreads_serial_mpithreads_both_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.ConcurrencyTest
[junit] Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.332 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=4 examples/concurrency/barrier2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.89
[junit] memory (bytes) : 862978048
[junit] max process count : 5
[junit] states : 20783
[junit] states saved : 6084
[junit] state matches : 6318
[junit] transitions : 27092
[junit] trace steps : 12401
[junit] valid calls : 104575
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 153:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from stdio.cvl:10.10-21 "<civlc.cvh>":
[junit] A deadlock is possible:
[junit] Path condition: (0 <= SIZEOF_INT+-1) && (0 <= -1*X0+9) && (0 <= X0+-1)
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): terminated
[junit] process p3 (id=3): terminated
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from stdio.cvl:10.10-21 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at wildcardBad.c:23.4-12 "MPI_Recv" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before wildcardBad.c:6.14-18 "argc"
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/wildcardBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/concurrency/wildcardBad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.96
[junit] memory (bytes) : 870318080
[junit] max process count : 4
[junit] states : 325
[junit] states saved : 156
[junit] state matches : 0
[junit] transitions : 321
[junit] trace steps : 152
[junit] valid calls : 1606
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/wildcardBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] I'm process 0 :
[junit]
[junit] State 155
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p2, p3},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, p3},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=1,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=1,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 2},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, p3},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p2, p3}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = "Message of size %d exceeds the specified size %d."
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = "Process terminates without calling MPI_Finalize() first."
[junit] | | | | _anon_7 = "I'm process %d :\n"
[junit] | | dyscope d1 (id=1, parent=d0, static=34)
[junit] | | | variables
[junit] | | | | scope = d0
[junit] | | | | size = 3
[junit] | | dyscope d2 (id=2, parent=d1, static=53)
[junit] | | | variables
[junit] | | | | result = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | dyscope d3 (id=3, parent=d0, static=44)
[junit] | | | variables
[junit] | | | | _mpi_rank = 0
[junit] | | dyscope d4 (id=4, parent=d3, static=58)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=0, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=0, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=0, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d5 (id=5, parent=d0, static=44)
[junit] | | | variables
[junit] | | | | _mpi_rank = 1
[junit] | | dyscope d6 (id=6, parent=d5, static=58)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[])INVALID
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[])INVALID
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[])INVALID
[junit] | | | | | | 1: ($comm[])INVALID
[junit] | | | | _mpi_status = 2
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d7 (id=7, parent=d0, static=44)
[junit] | | | variables
[junit] | | | | _mpi_rank = 2
[junit] | | dyscope d8 (id=8, parent=d7, static=58)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[])INVALID
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[])INVALID
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[])INVALID
[junit] | | | | | | 1: ($comm[])INVALID
[junit] | | | | _mpi_status = 2
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d9 (id=9, parent=d0, static=36)
[junit] | | | variables
[junit] | | | | scope = d4
[junit] | | | | gc = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | rank = 0
[junit] | | dyscope d10 (id=10, parent=d9, static=54)
[junit] | | | variables
[junit] | | | | result = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d11 (id=11, parent=d4, static=61)
[junit] | | | variables
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d12 (id=12, parent=d11, static=62)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | dyscope d13 (id=13, parent=d4, static=60)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d11>_gen_argv_tmp[0]
[junit] | | dyscope d14 (id=14, parent=d13, static=63)
[junit] | | | variables
[junit] | | | | nprocs = 3
[junit] | | | | rank = 0
[junit] | | | | msg = 1
[junit] | | | | status = (MPI_Status){.MPI_SOURCE=1, .MPI_TAG=1, .MPI_ERROR=0, .size=SIZEOF_INT}
[junit] | | dyscope d15 (id=15, parent=d0, static=38)
[junit] | | | variables
[junit] | | dyscope d16 (id=16, parent=d0, static=17)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d14>rank
[junit] | | dyscope d17 (id=17, parent=d16, static=51)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d18 (id=18, parent=d0, static=28)
[junit] | | | variables
[junit] | | | | comm = &<d4>heap.malloc5[0][0]
[junit] | | dyscope d19 (id=19, parent=d0, static=16)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = &<d14>nprocs
[junit] | | dyscope d20 (id=20, parent=d19, static=50)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d21 (id=21, parent=d0, static=15)
[junit] | | | variables
[junit] | | | | buf = &<d14>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | source = -1
[junit] | | | | tag = 1
[junit] | | | | comm = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | status = &<d14>status
[junit] | | dyscope d22 (id=22, parent=d21, static=49)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | | | $sef$1 = 0
[junit] | | dyscope d23 (id=23, parent=d0, static=41)
[junit] | | | variables
[junit] | | | | buf = &<d14>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | source = -1
[junit] | | | | tag = 1
[junit] | | | | comm = &<d4>heap.malloc5[0][0]
[junit] | | | | status = &<d14>status
[junit] | | | | MPICommId = 0
[junit] | | dyscope d24 (id=24, parent=d23, static=57)
[junit] | | | variables
[junit] | | | | in = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | | | $sef$3 = SIZEOF_INT
[junit] | | | | size = SIZEOF_INT
[junit] | | dyscope d25 (id=25, parent=d0, static=36)
[junit] | | | variables
[junit] | | | | scope = d6
[junit] | | | | gc = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | rank = 1
[junit] | | dyscope d26 (id=26, parent=d25, static=54)
[junit] | | | variables
[junit] | | | | result = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d27 (id=27, parent=d6, static=61)
[junit] | | | variables
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d28 (id=28, parent=d27, static=62)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | dyscope d29 (id=29, parent=d6, static=60)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d27>_gen_argv_tmp[0]
[junit] | | dyscope d30 (id=30, parent=d29, static=63)
[junit] | | | variables
[junit] | | | | nprocs = 3
[junit] | | | | rank = 1
[junit] | | | | msg = 1
[junit] | | | | status = (MPI_Status)X_s30v4p2
[junit] | | dyscope d15 (id=31, parent=d0, static=38)
[junit] | | | variables
[junit] | | dyscope d32 (id=32, parent=d0, static=17)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d30>rank
[junit] | | dyscope d33 (id=33, parent=d32, static=51)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d34 (id=34, parent=d0, static=28)
[junit] | | | variables
[junit] | | | | comm = &<d6>heap.malloc5[0][0]
[junit] | | dyscope d35 (id=35, parent=d0, static=16)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = &<d30>nprocs
[junit] | | dyscope d36 (id=36, parent=d35, static=50)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d37 (id=37, parent=d0, static=14)
[junit] | | | variables
[junit] | | | | buf = &<d30>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | dest = 0
[junit] | | | | tag = 1
[junit] | | | | comm = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d38 (id=38, parent=d37, static=48)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | | | $sef$0 = 0
[junit] | | dyscope d39 (id=39, parent=d0, static=40)
[junit] | | | variables
[junit] | | | | buf = &<d30>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | dest = 0
[junit] | | | | tag = 1
[junit] | | | | comm = &<d6>heap.malloc5[0][0]
[junit] | | | | MPICommId = 0
[junit] | | dyscope d40 (id=40, parent=d39, static=56)
[junit] | | | variables
[junit] | | | | $sef$2 = SIZEOF_INT
[junit] | | | | size = SIZEOF_INT
[junit] | | | | place = 1
[junit] | | | | out = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d41 (id=41, parent=d0, static=31)
[junit] | | | variables
[junit] | | | | datatype = 8
[junit] | | dyscope d34 (id=42, parent=d0, static=28)
[junit] | | | variables
[junit] | | | | comm = &<d6>heap.malloc5[0][0]
[junit] | | dyscope d43 (id=43, parent=d0, static=18)
[junit] | | | variables
[junit] | | | | source = 1
[junit] | | | | dest = 0
[junit] | | | | tag = 1
[junit] | | | | data = &<d30>msg
[junit] | | | | size = SIZEOF_INT
[junit] | | dyscope d44 (id=44, parent=d43, static=52)
[junit] | | | variables
[junit] | | | | result = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d45 (id=45, parent=d0, static=39)
[junit] | | | variables
[junit] | | dyscope d46 (id=46, parent=d0, static=37)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d47 (id=47, parent=d46, static=55)
[junit] | | | variables
[junit] | | | | curr_status = 2
[junit] | | dyscope d48 (id=48, parent=d0, static=36)
[junit] | | | variables
[junit] | | | | scope = d8
[junit] | | | | gc = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | rank = 2
[junit] | | dyscope d49 (id=49, parent=d48, static=54)
[junit] | | | variables
[junit] | | | | result = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d50 (id=50, parent=d8, static=61)
[junit] | | | variables
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d51 (id=51, parent=d50, static=62)
[junit] | | | variables
[junit] | | | | i = 10
[junit] | | dyscope d52 (id=52, parent=d8, static=60)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d50>_gen_argv_tmp[0]
[junit] | | dyscope d53 (id=53, parent=d52, static=63)
[junit] | | | variables
[junit] | | | | nprocs = 3
[junit] | | | | rank = 2
[junit] | | | | msg = 2
[junit] | | | | status = (MPI_Status)X_s53v4p3
[junit] | | dyscope d15 (id=54, parent=d0, static=38)
[junit] | | | variables
[junit] | | dyscope d55 (id=55, parent=d0, static=17)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | rank = &<d53>rank
[junit] | | dyscope d56 (id=56, parent=d55, static=51)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d57 (id=57, parent=d0, static=28)
[junit] | | | variables
[junit] | | | | comm = &<d8>heap.malloc5[0][0]
[junit] | | dyscope d58 (id=58, parent=d0, static=16)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = &<d53>nprocs
[junit] | | dyscope d59 (id=59, parent=d58, static=50)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | dyscope d60 (id=60, parent=d0, static=14)
[junit] | | | variables
[junit] | | | | buf = &<d53>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | dest = 0
[junit] | | | | tag = 1
[junit] | | | | comm = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d61 (id=61, parent=d60, static=48)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | | | $sef$0 = 0
[junit] | | dyscope d62 (id=62, parent=d0, static=40)
[junit] | | | variables
[junit] | | | | buf = &<d53>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | dest = 0
[junit] | | | | tag = 1
[junit] | | | | comm = &<d8>heap.malloc5[0][0]
[junit] | | | | MPICommId = 0
[junit] | | dyscope d63 (id=63, parent=d62, static=56)
[junit] | | | variables
[junit] | | | | $sef$2 = SIZEOF_INT
[junit] | | | | size = SIZEOF_INT
[junit] | | | | place = 2
[junit] | | | | out = ($message){
[junit] | | | | | .source=2,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 2},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d41 (id=64, parent=d0, static=31)
[junit] | | | variables
[junit] | | | | datatype = 8
[junit] | | dyscope d57 (id=65, parent=d0, static=28)
[junit] | | | variables
[junit] | | | | comm = &<d8>heap.malloc5[0][0]
[junit] | | dyscope d66 (id=66, parent=d0, static=18)
[junit] | | | variables
[junit] | | | | source = 2
[junit] | | | | dest = 0
[junit] | | | | tag = 1
[junit] | | | | data = &<d53>msg
[junit] | | | | size = SIZEOF_INT
[junit] | | dyscope d67 (id=67, parent=d66, static=52)
[junit] | | | variables
[junit] | | | | result = ($message){
[junit] | | | | | .source=2,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 2},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d45 (id=68, parent=d0, static=39)
[junit] | | | variables
[junit] | | dyscope d69 (id=69, parent=d0, static=37)
[junit] | | | variables
[junit] | | | | comm = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | dyscope d70 (id=70, parent=d69, static=55)
[junit] | | | variables
[junit] | | | | curr_status = 2
[junit] | | dyscope d41 (id=71, parent=d0, static=31)
[junit] | | | variables
[junit] | | | | datatype = 8
[junit] | | dyscope d72 (id=72, parent=d0, static=22)
[junit] | | | variables
[junit] | | | | message = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | | | buf = &<d14>msg
[junit] | | | | size = SIZEOF_INT
[junit] | | dyscope d73 (id=73, parent=d0, static=21)
[junit] | | | variables
[junit] | | | | message = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d74 (id=74, parent=d0, static=19)
[junit] | | | variables
[junit] | | | | message = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d75 (id=75, parent=d0, static=20)
[junit] | | | variables
[junit] | | | | message = ($message){
[junit] | | | | | .source=1,
[junit] | | | | | .dest=0,
[junit] | | | | | .tag=1,
[junit] | | | | | .data={
[junit] | | | | | | 1},
[junit] | | | | | .size=SIZEOF_INT}
[junit] | | dyscope d76 (id=76, parent=d0, static=15)
[junit] | | | variables
[junit] | | | | buf = &<d14>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | source = 1
[junit] | | | | tag = 1
[junit] | | | | comm = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | status = &<d14>status
[junit] | | dyscope d77 (id=77, parent=d76, static=49)
[junit] | | | variables
[junit] | | | | curr_status = 1
[junit] | | | | $sef$1 = NULL
[junit] | | dyscope d78 (id=78, parent=d0, static=41)
[junit] | | | variables
[junit] | | | | buf = &<d14>msg
[junit] | | | | count = 1
[junit] | | | | datatype = 8
[junit] | | | | source = 1
[junit] | | | | tag = 1
[junit] | | | | comm = &<d4>heap.malloc5[0][0]
[junit] | | | | status = &<d14>status
[junit] | | | | MPICommId = 0
[junit] | | dyscope d79 (id=79, parent=d78, static=57)
[junit] | | | variables
[junit] | | | | in = ($message)X_s79v1p1
[junit] | | | | $sef$3 = NULL
[junit] | | | | size = NULL
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=8, MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from stdio.cvl:10.10-21 "<civlc.cvh>", dyscope=d0]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=$mpi_recv, location=105, civl-mpi.cvl:162.9-22 "$comm_dequeue", dyscope=d79]
[junit] | | | | Frame[function=MPI_Recv, location=21, mpi.cvl:83.9-18 "$mpi_recv", dyscope=d77]
[junit] | | | | Frame[function=_gen_main, location=140, wildcardBad.c:23.4-12 "MPI_Recv", dyscope=d14]
[junit] | | | | Frame[function=_mpi_process, location=124, GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before wildcardBad.c:6.14-18 "argc", dyscope=d11]
[junit] | | process p2(id=2)
[junit] | | | call stack
[junit] | | process p3(id=3)
[junit] | | | call stack
[junit]
[junit] Violation of Deadlock found in State 155:
[junit] A deadlock is possible:
[junit] Path condition: (0 <= SIZEOF_INT+-1) && (0 <= -1*X0+9) && (0 <= X0+-1)
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): terminated
[junit] process p3 (id=3): terminated
[junit]
[junit] Trace ends after 152 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay examples/concurrency/wildcardBad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.82
[junit] memory (bytes) : 870318080
[junit] max process count : 4
[junit] states : 325
[junit] states Saved : 156
[junit] valid calls : 1606
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputBOUND=4 -showTransitions=false examples/concurrency/dining.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 870318080
[junit] max process count : 5
[junit] states : 611
[junit] states saved : 362
[junit] state matches : 325
[junit] transitions : 929
[junit] trace steps : 686
[junit] valid calls : 8104
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 24:
[junit] CIVL execution violation in (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mp_root.cvh:16.4-9 "$wait" included from ring1Bad.cvl:7.9-22 ""mp_root.cvh"":
[junit] A potential or absolute deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_REAL+-1
[junit] Enabling predicate: false
[junit] ProcessState 0: at location 38, mp_root.cvh:16.4-9 "$wait" included from ring1Bad.cvl:7.9-22 ""mp_root.cvh""
[junit] Enabling predicate: false
[junit] ProcessState 1: at location 42, mp_proc.cvh:3.4-17 "$comm_enqueue" included from ring1Bad.cvl:10.11-24 ""mp_proc.cvh""
[junit] Enabling predicate: true
[junit] ProcessState 2: at location 42, mp_proc.cvh:3.4-17 "$comm_enqueue" included from ring1Bad.cvl:10.11-24 ""mp_proc.cvh""
[junit] Enabling predicate: true
[junit] ProcessState 3: at location 42, mp_proc.cvh:3.4-17 "$comm_enqueue" included from ring1Bad.cvl:10.11-24 ""mp_proc.cvh""
[junit] Enabling predicate: true
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] finalize at mp_root.cvh:16.4-9 "$wait" included from ring1Bad.cvl:7.9-22 ""mp_root.cvh"" called from
[junit] _CIVL_system at mp_root.cvh:24.4-12 "finalize" included from ring1Bad.cvl:7.9-22 ""mp_root.cvh""
[junit] process p1 (id=1):
[junit] send at mp_proc.cvh:3.4-17 "$comm_enqueue" included from ring1Bad.cvl:10.11-24 ""mp_proc.cvh"" called from
[junit] MPI_Process at ring1Bad.cvl:14.2-6 "send"
[junit] process p2 (id=2):
[junit] send at mp_proc.cvh:3.4-17 "$comm_enqueue" included from ring1Bad.cvl:10.11-24 ""mp_proc.cvh"" called from
[junit] MPI_Process at ring1Bad.cvl:14.2-6 "send"
[junit] process p3 (id=3):
[junit] send at mp_proc.cvh:3.4-17 "$comm_enqueue" included from ring1Bad.cvl:10.11-24 ""mp_proc.cvh"" called from
[junit] MPI_Process at ring1Bad.cvl:14.2-6 "send"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/ring1Bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential -inputNPROCS=3 examples/concurrency/ring1Bad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 870318080
[junit] max process count : 4
[junit] states : 60
[junit] states saved : 27
[junit] state matches : 0
[junit] transitions : 59
[junit] trace steps : 23
[junit] valid calls : 122
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/ring1Bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 54:
[junit] CIVL execution violation in (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mp_root2.cvh:67.4-9 "$wait" included from ring2Bad.cvl:8.9-23 ""mp_root2.cvh"":
[junit] A potential or absolute deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_REAL+-1
[junit] Enabling predicate: false
[junit] ProcessState 0: at location 58, mp_root2.cvh:67.4-9 "$wait" included from ring2Bad.cvl:8.9-23 ""mp_root2.cvh""
[junit] Enabling predicate: false
[junit] ProcessState 1: at location 76, mp_proc2.cvh:38.4-17 "$comm_enqueue" included from ring2Bad.cvl:11.9-23 ""mp_proc2.cvh""
[junit] Enabling predicate: true
[junit] ProcessState 2: at location 76, mp_proc2.cvh:38.4-17 "$comm_enqueue" included from ring2Bad.cvl:11.9-23 ""mp_proc2.cvh""
[junit] Enabling predicate: true
[junit] ProcessState 3: at location 76, mp_proc2.cvh:38.4-17 "$comm_enqueue" included from ring2Bad.cvl:11.9-23 ""mp_proc2.cvh""
[junit] Enabling predicate: true
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] finalize at mp_root2.cvh:67.4-9 "$wait" included from ring2Bad.cvl:8.9-23 ""mp_root2.cvh"" called from
[junit] _CIVL_system at mp_root2.cvh:73.2-10 "finalize" included from ring2Bad.cvl:8.9-23 ""mp_root2.cvh""
[junit] process p1 (id=1):
[junit] MPI_Send at mp_proc2.cvh:38.4-17 "$comm_enqueue" included from ring2Bad.cvl:11.9-23 ""mp_proc2.cvh"" called from
[junit] MPI_Process at ring2Bad.cvl:23.2-10 "MPI_Send"
[junit] process p2 (id=2):
[junit] MPI_Send at mp_proc2.cvh:38.4-17 "$comm_enqueue" included from ring2Bad.cvl:11.9-23 ""mp_proc2.cvh"" called from
[junit] MPI_Process at ring2Bad.cvl:23.2-10 "MPI_Send"
[junit] process p3 (id=3):
[junit] MPI_Send at mp_proc2.cvh:38.4-17 "$comm_enqueue" included from ring2Bad.cvl:11.9-23 ""mp_proc2.cvh"" called from
[junit] MPI_Process at ring2Bad.cvl:23.2-10 "MPI_Send"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/ring2Bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential -inputNPROCS=3 examples/concurrency/ring2Bad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.11
[junit] memory (bytes) : 870318080
[junit] max process count : 4
[junit] states : 92
[junit] states saved : 57
[junit] state matches : 0
[junit] transitions : 91
[junit] trace steps : 53
[junit] valid calls : 253
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/ring2Bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 16:
[junit] CIVL execution violation in (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at ring3Bad.cvl:30.52-53 ";":
[junit] A potential or absolute deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_INT+-1
[junit] Enabling predicate: false
[junit] ProcessState 0: at location 3, ring3Bad.cvl:30.52-53 ";"
[junit] Enabling predicate: false
[junit] ProcessState 1: at location 25, ring3Bad.cvl:20.2-15 "$comm_enqueue"
[junit] Enabling predicate: true
[junit] ProcessState 2: at location 25, ring3Bad.cvl:20.2-15 "$comm_enqueue"
[junit] Enabling predicate: true
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at ring3Bad.cvl:30.52-53 ";"
[junit] process p1 (id=1):
[junit] MPI_Process at ring3Bad.cvl:20.2-15 "$comm_enqueue"
[junit] process p2 (id=2):
[junit] MPI_Process at ring3Bad.cvl:20.2-15 "$comm_enqueue"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/ring3Bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential examples/concurrency/ring3Bad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 866123776
[junit] max process count : 3
[junit] states : 34
[junit] states saved : 22
[junit] state matches : 0
[junit] transitions : 32
[junit] trace steps : 15
[junit] valid calls : 146
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/ring3Bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 27:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at adderBad.cvl:43.2-23 "$assert((seq == par))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] a=(real[4])X1
[junit] Assertion: $assert((seq==par))
[junit] -> X1[1]+X1[2]+X1[3]+X1[0]==X1[1]+X1[3]+X1[0]
[junit] -> 0==X1[2]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at adderBad.cvl:43.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/adderBad_0.trace
[junit] Restricting search depth to 26
[junit]
[junit] Violation 1 encountered at depth 23:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at adderBad.cvl:43.2-23 "$assert((seq == par))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=3
[junit] a=(real[3])X1
[junit] Assertion: $assert((seq==par))
[junit] -> X1[1]+X1[2]+X1[0]==X1[2]+X1[0]
[junit] -> 0==X1[1]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at adderBad.cvl:43.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (23) is less than length of old (27): replacing old with new...
[junit] Restricting search depth to 22
[junit]
[junit] Violation 2 encountered at depth 18:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at adderBad.cvl:43.2-23 "$assert((seq == par))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=2
[junit] a=(real[2])X1
[junit] Assertion: $assert((seq==par))
[junit] -> X1[1]+X1[0]==X1[1]
[junit] -> 0==X1[0]
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at adderBad.cvl:43.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (18) is less than length of old (23): replacing old with new...
[junit] Restricting search depth to 17
[junit]
[junit] === Command ===
[junit] civl verify -inputB=4 -min examples/concurrency/adderBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.19
[junit] memory (bytes) : 866123776
[junit] max process count : 5
[junit] states : 2230
[junit] states saved : 1183
[junit] state matches : 622
[junit] transitions : 2846
[junit] trace steps : 1796
[junit] valid calls : 22105
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 20
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/adderBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Error 0:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at adderBad.cvl:43.2-23 "$assert((seq == par))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=2
[junit] a=(real[2])X1
[junit] Assertion: $assert((seq==par))
[junit] -> X1[1]+X1[0]==X1[1]
[junit] -> 0==X1[0]
[junit] State -1:196912
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | B = 4
[junit] | | | | N = 2
[junit] | | | | a = (real[2])X1
[junit] | | dyscope d1 (id=1, parent=d0, static=5)
[junit] | | | variables
[junit] | | | | seq = X1[1]+X1[0]
[junit] | | | | par = X1[1]
[junit] | | dyscope d2 (id=2, parent=d0, static=3)
[junit] | | | variables
[junit] | | | | p = &<d0>a[0]
[junit] | | | | n = 2
[junit] | | dyscope d3 (id=3, parent=d2, static=6)
[junit] | | | variables
[junit] | | | | s = X1[1]+X1[0]
[junit] | | dyscope d4 (id=4, parent=d3, static=7)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d5 (id=5, parent=d0, static=4)
[junit] | | | variables
[junit] | | | | p = &<d0>a[0]
[junit] | | | | n = 2
[junit] | | dyscope d6 (id=6, parent=d5, static=8)
[junit] | | | variables
[junit] | | | | s = X1[1]
[junit] | | | | _dom_size0 = 2
[junit] | | | | _par_procs0 = (process[2]){UNDEFINED, UNDEFINED}
[junit] | | dyscope d7 (id=7, parent=d6, static=9)
[junit] | | | variables
[junit] | | | | i = 0
[junit] | | dyscope d8 (id=8, parent=d7, static=13)
[junit] | | | variables
[junit] | | | | t = X1[0]
[junit] | | dyscope d9 (id=9, parent=d6, static=9)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | dyscope d10 (id=10, parent=d9, static=13)
[junit] | | | variables
[junit] | | | | t = X1[1]
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=6, adderBad.cvl:43.2-9 "$assert", dyscope=d1]
[junit] | | process - (id=1): null
[junit] | | process - (id=2): null
[junit]
[junit] Trace ends after 18 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay examples/concurrency/adderBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 866123776
[junit] max process count : 3
[junit] states : 32
[junit] states Saved : 22
[junit] valid calls : 127
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 14
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 201:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mp_root2.cvh:67.4-9 "$wait" included from hybrid.cvl:6.9-23 ""mp_root2.cvh"":
[junit] A deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_INT+-1
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit] process p5 (id=5): false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] finalize at mp_root2.cvh:67.4-9 "$wait" included from hybrid.cvl:6.9-23 ""mp_root2.cvh"" called from
[junit] _CIVL_system at mp_root2.cvh:73.2-10 "finalize" included from hybrid.cvl:6.9-23 ""mp_root2.cvh""
[junit] process p1 (id=1):
[junit] MPI_Process at hybrid.cvl:39.26-31 "$wait"
[junit] process p2 (id=2):
[junit] MPI_Process at hybrid.cvl:39.26-31 "$wait"
[junit] process p3 (id=3):
[junit] MPI_Recv at mp_proc2.cvh:45.16-29 "$comm_dequeue" included from hybrid.cvl:10.9-23 ""mp_proc2.cvh"" called from
[junit] Thread at hybrid.cvl:29.10-18 "MPI_Recv"
[junit] process p4 (id=4):
[junit] MPI_Recv at mp_proc2.cvh:45.16-29 "$comm_dequeue" included from hybrid.cvl:10.9-23 ""mp_proc2.cvh"" called from
[junit] Thread at hybrid.cvl:29.10-18 "MPI_Recv"
[junit] process p5 (id=5):
[junit] MPI_Recv at mp_proc2.cvh:45.16-29 "$comm_dequeue" included from hybrid.cvl:10.9-23 ""mp_proc2.cvh"" called from
[junit] Thread at hybrid.cvl:26.10-18 "MPI_Recv"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/hybrid_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -inputNPROCS=2 examples/concurrency/hybrid.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.61
[junit] memory (bytes) : 866123776
[junit] max process count : 7
[junit] states : 6803
[junit] states saved : 3627
[junit] state matches : 145
[junit] transitions : 6947
[junit] trace steps : 3353
[junit] valid calls : 31783
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/hybrid_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] State 0, p0:
[junit] 0->1: NPROCS=2 at wildcard.cvl:7.0-21 "$input int NPROCS = 5"
[junit] 1->2: __MPI_COMM_WORLD=InitialValue(__MPI_COMM_WORLD) [__MPI_COMM_WORLD:=($mpi_gcomm){.p2p=NULL, .col=NULL, .collect_checker=NULL, .gbarrier=NULL}] at wildcard.cvl:8.0-27 "$mpi_gcomm __MPI_COMM_WORLD"
[junit] 2->3: procs=InitialValue(procs) [procs:=(process[2])X_s1v1p0] at wildcard.cvl:39.2-21 "$proc procs[NPROCS]"
[junit] --> State 1
[junit] State 1, p0:
[junit] 3->67: __MPI_COMM_WORLD=$mpi_gcomm_create(d0, 2) at wildcard.cvl:41.2-53 "__MPI_COMM_WORLD = $mpi_gcomm_create($root, ... )"
[junit] --> State 2
[junit] State 2, p0:
[junit] 67->68: result=InitialValue(result) [result:=($mpi_gcomm)X_s2v1p0] at civl-mpi.cvl:69.2-19 "$mpi_gcomm result"
[junit] 68->69: (result).p2p=$gcomm_create(d0, 2) [(result).p2p:=&<d0>heap.malloc4[0][0]] at civl-mpi.cvl:71.2-41 "result.p2p = $gcomm_create(scope ... )"
[junit] 69->70: (result).col=$gcomm_create(d0, 2) [(result).col:=&<d0>heap.malloc4[1][0]] at civl-mpi.cvl:72.2-41 "result.col = $gcomm_create(scope ... )"
[junit] 70->71: (result).collect_checker=$gcollect_checker_create(d0) [(result).collect_checker:=&<d0>heap.malloc2[0][0]] at civl-mpi.cvl:73.2-58 "result.collect_checker = $gcollect_checker_create(scope)"
[junit] 71->72: (result).gbarrier=$gbarrier_create(d0, 2) [(result).gbarrier:=&<d0>heap.malloc0[0][0]] at civl-mpi.cvl:74.2-49 "result.gbarrier = $gbarrier_create(scope ... )"
[junit] 72->RET: $mpi_gcomm_create(...) return ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]} [__MPI_COMM_WORLD:=($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}] at civl-mpi.cvl:75.2-16 "return result;"
[junit] 4->5: i=0 at wildcard.cvl:42.6-13 "int i=0"
[junit] 5->6: LOOP_BODY_ENTER(0<2) at wildcard.cvl:42.15-23 "i<NPROCS"
[junit] --> State 3
[junit] State 3, p0:
[junit] 6->7: procs[0]=$spawn _mpi_process(0) [procs[0]:=p1] at wildcard.cvl:43.4-37 "procs[i] = $spawn ... )"
[junit] 7->5: i=0+1 [i:=1] at wildcard.cvl:42.25-28 "i++"
[junit] 5->6: LOOP_BODY_ENTER(1<2) at wildcard.cvl:42.15-23 "i<NPROCS"
[junit] --> State 4
[junit] State 4, p0:
[junit] 6->7: procs[1]=$spawn _mpi_process(1) [procs[1]:=p2] at wildcard.cvl:43.4-37 "procs[i] = $spawn ... )"
[junit] 7->5: i=1+1 [i:=2] at wildcard.cvl:42.25-28 "i++"
[junit] 5->8: LOOP_BODY_EXIT(!(2<2)) at wildcard.cvl:42.15-23 "i<NPROCS"
[junit] 8->9: i=0 at wildcard.cvl:44.6-13 "int i=0"
[junit] 9->10: LOOP_BODY_ENTER(0<2) at wildcard.cvl:44.15-23 "i<NPROCS"
[junit] --> State 5
[junit] State 5, p1:
[junit] 118->78: MPI_COMM_WORLD=$mpi_comm_create(d6, ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}, 0) at wildcard.cvl:10.2-76 "MPI_Comm MPI_COMM_WORLD = $mpi_comm_create($here ... )"
[junit] --> State 6
[junit] State 6, p1:
[junit] 78->79: result=InitialValue(result) [result:=(MPI_Comm)X_s5v1p1] at civl-mpi.cvl:86.2-17 "MPI_Comm result"
[junit] 79->80: (result).p2p=$comm_create(d6, &<d0>heap.malloc4[0][0], 0) [(result).p2p:=&<d6>heap.malloc5[0][0]] at civl-mpi.cvl:88.2-48 "result.p2p = $comm_create(scope ... )"
[junit] 80->81: (result).col=$comm_create(d6, &<d0>heap.malloc4[1][0], 0) [(result).col:=&<d6>heap.malloc5[1][0]] at civl-mpi.cvl:89.2-48 "result.col = $comm_create(scope ... )"
[junit] 81->82: (result).collect_checker=$collect_checker_create(d6, &<d0>heap.malloc2[0][0]) [(result).collect_checker:=&<d6>heap.malloc3[0][0]] at civl-mpi.cvl:90.2-77 "result.collect_checker = $collect_checker_create(scope ... )"
[junit] 82->83: (result).barrier=$barrier_create(d6, &<d0>heap.malloc0[0][0], 0) [(result).barrier:=&<d6>heap.malloc1[0][0]] at civl-mpi.cvl:91.2-60 "result.barrier = $barrier_create(scope ... )"
[junit] 83->84: (result).gcommIndex=0 at civl-mpi.cvl:92.2-23 "result.gcommIndex = 0"
[junit] 84->RET: $mpi_comm_create(...) return (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0} [MPI_COMM_WORLD:=(MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}] at civl-mpi.cvl:93.2-16 "return result;"
[junit] 119->120: status=InitialValue(status) [status:=(MPI_Status)X_s3v5p1] at wildcard.cvl:12.2-19 "MPI_Status status"
[junit] 120->121: _mpi_status=0 at wildcard.cvl:13.2-40 "$mpi_sys_status _mpi_status = __UNINIT"
[junit] 121->122: $assert(0==0) at wildcard.cvl:15.2-34 "$assert(_mpi_status == __UNINIT)"
[junit] 122->94: $mpi_init() at wildcard.cvl:16.2-13 "$mpi_init()"
[junit] --> State 7
[junit] State 7, p1:
[junit] 94->95: $mpi_set_status(1) at civl-mpi.cvl:110.2-25 "$mpi_set_status(__INIT)"
[junit] 95->RET: $mpi_init(...) return 0 at civl-mpi.cvl:111.2-11 "return 0;"
[junit] --> State 8
[junit] State 8, p1:
[junit] 123->31: MPI_Comm_rank((MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}, &<d6>rank) at wildcard.cvl:17.2-38 "MPI_Comm_rank(MPI_COMM_WORLD, &rank)"
[junit] --> State 9
[junit] State 9, p1:
[junit] 31->32: curr_status=$mpi_get_status() [curr_status:=1] at mpi.cvl:57.2-33 "curr_status = $mpi_get_status()"
[junit] 32->33: _anon_3="MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n" at mpi.cvl:0.-1-59.55 ""MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"" from concatenation of the following 2 tokens:
[junit] mpi.cvl:58.33-61 ""MPI_Comm_rank() cannot be ""
[junit] mpi.cvl:59.4-55 ""invoked without MPI_Init() being called before.\n""
[junit] --> State 10
[junit] State 10, p1:
[junit] 33->34: $assert(1==1, "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n") at mpi.cvl:58.2-59.56 "$assert(curr_status == __INIT, ... )"
[junit] --> State 11
[junit] State 11, p1:
[junit] 34->50: *(&<d6>rank)=$comm_place(&<d6>heap.malloc5[0][0]) at mpi.cvl:60.2-31 "*rank = $comm_place(comm. ... )"
[junit] --> State 12
[junit] State 12, p1:
[junit] 50->RET: $comm_place(...) return 0 [*(&<d6>rank):=0] at comm.cvl:88.1-20 "return comm->place;"
[junit] 35->RET: MPI_Comm_rank(...) return 0 at mpi.cvl:61.2-11 "return 0;"
[junit] --> State 13
[junit] State 13, p1:
[junit] 124->26: MPI_Comm_size((MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}, &<d6>nprocs) at wildcard.cvl:18.2-40 "MPI_Comm_size(MPI_COMM_WORLD, &nprocs)"
[junit] --> State 14
[junit] State 14, p1:
[junit] 26->27: curr_status=$mpi_get_status() [curr_status:=1] at mpi.cvl:47.2-33 "curr_status = $mpi_get_status()"
[junit] 27->28: _anon_2="MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n" at mpi.cvl:0.-1-49.55 ""MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"" from concatenation of the following 2 tokens:
[junit] mpi.cvl:48.33-61 ""MPI_Comm_size() cannot be ""
[junit] mpi.cvl:49.4-55 ""invoked without MPI_Init() being called before.\n""
[junit] --> State 15
[junit] State 15, p1:
[junit] 28->29: $assert(1==1, "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n") at mpi.cvl:48.2-49.56 "$assert(curr_status == __INIT, ... )"
[junit] --> State 16
[junit] State 16, p1:
[junit] 29->30: *(&<d6>nprocs)=$comm_size(&<d6>heap.malloc5[0][0]) [*(&<d6>nprocs):=2] at mpi.cvl:50.2-30 "*size = $comm_size(comm. ... )"
[junit] 30->RET: MPI_Comm_size(...) return 0 at mpi.cvl:51.2-11 "return 0;"
[junit] --> State 17
[junit] State 17, p1:
[junit] 125->133: FALSE_BRANCH_IF(!(0!=0)) at wildcard.cvl:31.2-3 "}"
[junit] --> State 18
[junit] State 18, p1:
[junit] 133->134: msg=-1 at wildcard.cvl:27.4-12 "msg = -1"
[junit] 134->135: i=1 at wildcard.cvl:28.8-15 "int i=1"
[junit] 135->136: LOOP_BODY_ENTER(1<2) at wildcard.cvl:28.17-25 "i<NPROCS"
[junit] --> State 19
[junit] State 19, p1:
[junit] 136->20: MPI_Recv(&<d6>msg, 1, 8, -1, 1, (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}, &<d6>status) at wildcard.cvl:29.6-76 "MPI_Recv(&msg, 1, ... )"
[junit] --> State 20
[junit] State 20, p1:
[junit] 20->21: curr_status=$mpi_get_status() [curr_status:=1] at mpi.cvl:79.2-33 "curr_status = $mpi_get_status()"
[junit] 21->22: _anon_1="MPI_Recv() cannot be invoked without MPI_Init() being called before.\n" at mpi.cvl:0.-1-81.47 ""MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"" from concatenation of the following 2 tokens:
[junit] mpi.cvl:80.33-64 ""MPI_Recv() cannot be invoked ""
[junit] mpi.cvl:81.4-47 ""without MPI_Init() being called before.\n""
[junit] --> State 21
[junit] State 21, p1:
[junit] 22->23: $assert(1==1, "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n") at mpi.cvl:80.2-81.48 "$assert(curr_status == __INIT, ... )"
[junit] --> State 22
[junit] State 22, p1:
[junit] 23->24: $mpi_assertConsistentType(&<d6>msg, 8) at mpi.cvl:82.2-42 "$mpi_assertConsistentType(buf, datatype)"
[junit] --> State 23
[junit] State 23, p1:
[junit] 24->105: $sef$1=$mpi_recv(&<d6>msg, 1, 8, -1, 1, &<d6>heap.malloc5[0][0], &<d6>status, 0) at mpi.cvl:83.9-88 "$mpi_recv(buf, count, datatype ... )"
[junit] --> State 24
[junit] State 24, p1:
[junit] 105->106: TRUE_BRANCH_IF((0<=-1)||(-1==-1)) at civl-mpi.cvl:150.47-48 "{"
[junit] 106->107: in=InitialValue(in) [in:=($message)X_s11v1p1] at civl-mpi.cvl:151.4-15 "$message in"
[junit] 107->108: $elaborate(-1) at civl-mpi.cvl:153.4-22 "$elaborate(source)"
[junit] --> State 25
[junit] State 25, p2:
[junit] 118->78: MPI_COMM_WORLD=$mpi_comm_create(d8, ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}, 1) at wildcard.cvl:10.2-76 "MPI_Comm MPI_COMM_WORLD = $mpi_comm_create($here ... )"
[junit] --> State 26
[junit] State 26, p2:
[junit] 78->79: result=InitialValue(result) [result:=(MPI_Comm)X_s12v1p2] at civl-mpi.cvl:86.2-17 "MPI_Comm result"
[junit] 79->80: (result).p2p=$comm_create(d8, &<d0>heap.malloc4[0][0], 1) [(result).p2p:=&<d8>heap.malloc5[0][0]] at civl-mpi.cvl:88.2-48 "result.p2p = $comm_create(scope ... )"
[junit] 80->81: (result).col=$comm_create(d8, &<d0>heap.malloc4[1][0], 1) [(result).col:=&<d8>heap.malloc5[1][0]] at civl-mpi.cvl:89.2-48 "result.col = $comm_create(scope ... )"
[junit] 81->82: (result).collect_checker=$collect_checker_create(d8, &<d0>heap.malloc2[0][0]) [(result).collect_checker:=&<d8>heap.malloc3[0][0]] at civl-mpi.cvl:90.2-77 "result.collect_checker = $collect_checker_create(scope ... )"
[junit] 82->83: (result).barrier=$barrier_create(d8, &<d0>heap.malloc0[0][0], 1) [(result).barrier:=&<d8>heap.malloc1[0][0]] at civl-mpi.cvl:91.2-60 "result.barrier = $barrier_create(scope ... )"
[junit] 83->84: (result).gcommIndex=0 at civl-mpi.cvl:92.2-23 "result.gcommIndex = 0"
[junit] 84->RET: $mpi_comm_create(...) return (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0} [MPI_COMM_WORLD:=(MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}] at civl-mpi.cvl:93.2-16 "return result;"
[junit] 119->120: status=InitialValue(status) [status:=(MPI_Status)X_s10v5p2] at wildcard.cvl:12.2-19 "MPI_Status status"
[junit] 120->121: _mpi_status=0 at wildcard.cvl:13.2-40 "$mpi_sys_status _mpi_status = __UNINIT"
[junit] 121->122: $assert(0==0) at wildcard.cvl:15.2-34 "$assert(_mpi_status == __UNINIT)"
[junit] 122->94: $mpi_init() at wildcard.cvl:16.2-13 "$mpi_init()"
[junit] --> State 27
[junit] State 27, p2:
[junit] 94->95: $mpi_set_status(1) at civl-mpi.cvl:110.2-25 "$mpi_set_status(__INIT)"
[junit] 95->RET: $mpi_init(...) return 0 at civl-mpi.cvl:111.2-11 "return 0;"
[junit] --> State 28
[junit] State 28, p2:
[junit] 123->31: MPI_Comm_rank((MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}, &<d8>rank) at wildcard.cvl:17.2-38 "MPI_Comm_rank(MPI_COMM_WORLD, &rank)"
[junit] --> State 29
[junit] State 29, p2:
[junit] 31->32: curr_status=$mpi_get_status() [curr_status:=1] at mpi.cvl:57.2-33 "curr_status = $mpi_get_status()"
[junit] 32->33: _anon_3="MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n" at mpi.cvl:0.-1-59.55 ""MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"" from concatenation of the following 2 tokens:
[junit] mpi.cvl:58.33-61 ""MPI_Comm_rank() cannot be ""
[junit] mpi.cvl:59.4-55 ""invoked without MPI_Init() being called before.\n""
[junit] --> State 30
[junit] State 30, p2:
[junit] 33->34: $assert(1==1, "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n") at mpi.cvl:58.2-59.56 "$assert(curr_status == __INIT, ... )"
[junit] --> State 31
[junit] State 31, p2:
[junit] 34->50: *(&<d8>rank)=$comm_place(&<d8>heap.malloc5[0][0]) at mpi.cvl:60.2-31 "*rank = $comm_place(comm. ... )"
[junit] --> State 32
[junit] State 32, p2:
[junit] 50->RET: $comm_place(...) return 1 [*(&<d8>rank):=1] at comm.cvl:88.1-20 "return comm->place;"
[junit] 35->RET: MPI_Comm_rank(...) return 0 at mpi.cvl:61.2-11 "return 0;"
[junit] --> State 33
[junit] State 33, p2:
[junit] 124->26: MPI_Comm_size((MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}, &<d8>nprocs) at wildcard.cvl:18.2-40 "MPI_Comm_size(MPI_COMM_WORLD, &nprocs)"
[junit] --> State 34
[junit] State 34, p2:
[junit] 26->27: curr_status=$mpi_get_status() [curr_status:=1] at mpi.cvl:47.2-33 "curr_status = $mpi_get_status()"
[junit] 27->28: _anon_2="MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n" at mpi.cvl:0.-1-49.55 ""MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"" from concatenation of the following 2 tokens:
[junit] mpi.cvl:48.33-61 ""MPI_Comm_size() cannot be ""
[junit] mpi.cvl:49.4-55 ""invoked without MPI_Init() being called before.\n""
[junit] --> State 35
[junit] State 35, p2:
[junit] 28->29: $assert(1==1, "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n") at mpi.cvl:48.2-49.56 "$assert(curr_status == __INIT, ... )"
[junit] --> State 36
[junit] State 36, p2:
[junit] 29->30: *(&<d8>nprocs)=$comm_size(&<d8>heap.malloc5[0][0]) [*(&<d8>nprocs):=2] at mpi.cvl:50.2-30 "*size = $comm_size(comm. ... )"
[junit] 30->RET: MPI_Comm_size(...) return 0 at mpi.cvl:51.2-11 "return 0;"
[junit] --> State 37
[junit] State 37, p2:
[junit] 125->126: TRUE_BRANCH_IF(1!=0) at wildcard.cvl:20.15-16 "{"
[junit] --> State 38
[junit] State 38, p2:
[junit] 126->127: msg=1 at wildcard.cvl:21.4-14 "msg = rank"
[junit] --> State 39
[junit] State 39, p2:
[junit] 127->14: MPI_Send(&<d8>msg, 1, 8, 0, 1, (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}) at wildcard.cvl:22.4-52 "MPI_Send(&msg, 1, ... )"
[junit] --> State 40
[junit] State 40, p2:
[junit] 14->15: curr_status=$mpi_get_status() [curr_status:=1] at mpi.cvl:68.2-33 "curr_status = $mpi_get_status()"
[junit] 15->16: _anon_0="MPI_Send() cannot be invoked without MPI_Init() being called before.\n" at mpi.cvl:0.-1-70.47 ""MPI_Send() cannot be invoked without MPI_Init() being called before.\n"" from concatenation of the following 2 tokens:
[junit] mpi.cvl:69.33-64 ""MPI_Send() cannot be invoked ""
[junit] mpi.cvl:70.4-47 ""without MPI_Init() being called before.\n""
[junit] --> State 41
[junit] State 41, p2:
[junit] 16->17: $assert(1==1, "MPI_Send() cannot be invoked without MPI_Init() being called before.\n") at mpi.cvl:69.2-70.48 "$assert(curr_status == __INIT, ... )"
[junit] --> State 42
[junit] State 42, p2:
[junit] 17->18: $mpi_assertConsistentType(&<d8>msg, 8) at mpi.cvl:71.2-42 "$mpi_assertConsistentType(buf, datatype)"
[junit] --> State 43
[junit] State 43, p2:
[junit] 18->98: $sef$0=$mpi_send(&<d8>msg, 1, 8, 0, 1, &<d8>heap.malloc5[0][0], 0) at mpi.cvl:72.9-78 "$mpi_send(buf, count, datatype ... )"
[junit] --> State 44
[junit] State 44, p2:
[junit] 98->99: TRUE_BRANCH_IF(0<=0) at civl-mpi.cvl:131.17-18 "{"
[junit] 99->51: $sef$2=sizeofDatatype(8) at civl-mpi.cvl:132.21-45 "sizeofDatatype(datatype)"
[junit] --> State 45
[junit] State 45, p2:
[junit] 51->52: CASE_8(8==8) at civl-mpi.cvl:38.2-39.23 "case MPI_INT:\n return sizeof ... ;"
[junit] 52->53: sizeofDatatype(...) return SIZEOF_INT [$sef$2:=SIZEOF_INT] at civl-mpi.cvl:39.4-23 "return sizeof(int);"
[junit] 100->101: size=1*SIZEOF_INT [size:=SIZEOF_INT] at civl-mpi.cvl:132.4-45 "int size = count*sizeofDatatype ... )"
[junit] --> State 47
[junit] State 47, p2:
[junit] 101->50: place=$comm_place(&<d8>heap.malloc5[0][0]) at civl-mpi.cvl:133.4-33 "int place = $comm_place(comm)"
[junit] --> State 48
[junit] State 48, p2:
[junit] 50->RET: $comm_place(...) return 1 [place:=1] at comm.cvl:88.1-20 "return comm->place;"
[junit] --> State 49
[junit] State 49, p2:
[junit] 102->36: out=$message_pack(1, 0, 1, &<d8>msg, SIZEOF_INT) at civl-mpi.cvl:134.4-61 "$message out = $message_pack(place ... )"
[junit] --> State 50
[junit] State 50, p2:
[junit] 36->37: result=InitialValue(result) [result:=($message)X_s16v1p2] at comm.cvl:48.2-17 "$message result"
[junit] 37->38: (result).source=1 at comm.cvl:50.2-24 "result.source = source"
[junit] 38->39: (result).dest=0 at comm.cvl:51.2-20 "result.dest = dest"
[junit] 39->40: (result).tag=1 at comm.cvl:52.2-18 "result.tag = tag"
[junit] --> State 51
[junit] State 51, p2:
[junit] 40->41: (result).data=$bundle_pack(&<d8>msg, SIZEOF_INT) [(result).data:=(int[1]){1}] at comm.cvl:53.2-40 "result.data = $bundle_pack(data ... )"
[junit] 41->42: (result).size=SIZEOF_INT at comm.cvl:54.2-20 "result.size = size"
[junit] 42->RET: $message_pack(...) return ($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT} [out:=($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}] at comm.cvl:55.2-16 "return result;"
[junit] --> State 52
[junit] State 52, p2:
[junit] 103->104: $comm_enqueue(&<d8>heap.malloc5[0][0], ($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}) at civl-mpi.cvl:142.4-28 "$comm_enqueue(comm, out)"
[junit] --> State 53
[junit] State 53, p2:
[junit] 104->RET: $mpi_send(...) return 0 [$sef$0:=0] at civl-mpi.cvl:145.2-11 "return 0;"
[junit] 19->RET: MPI_Send(...) return 0 at mpi.cvl:72.2-79 "return $mpi_send(buf, count, ... ;"
[junit] --> State 54
[junit] State 54, p2:
[junit] 128->96: $mpi_finalize() at wildcard.cvl:32.2-17 "$mpi_finalize()"
[junit] --> State 55
[junit] State 55, p2:
[junit] 96->97: $mpi_set_status(2) at civl-mpi.cvl:115.2-30 "$mpi_set_status(__FINALIZED)"
[junit] 97->RET: $mpi_finalize(...) return 0 at civl-mpi.cvl:116.2-11 "return 0;"
[junit] 129->85: $mpi_comm_destroy((MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}) at wildcard.cvl:33.2-35 "$mpi_comm_destroy(MPI_COMM_WORLD)"
[junit] --> State 56
[junit] State 56, p2:
[junit] 85->86: curr_status=$mpi_get_status() [curr_status:=2] at civl-mpi.cvl:99.2-33 "curr_status = $mpi_get_status()"
[junit] 86->87: TRUE_BRANCH_IF(0==0) at civl-mpi.cvl:101.4-11 "$assert"
[junit] 87->88: _anon_6="Process terminates without calling MPI_Finalize() first." at civl-mpi.cvl:0.-1-102.36 ""Process terminates without calling MPI_Finalize() first."" from concatenation of the following 2 tokens:
[junit] civl-mpi.cvl:101.40-69 ""Process terminates without ""
[junit] civl-mpi.cvl:102.5-36 ""calling MPI_Finalize() first.""
[junit] --> State 57
[junit] State 57, p2:
[junit] 88->89: $assert(2==2, "Process terminates without calling MPI_Finalize() first.") at civl-mpi.cvl:101.4-102.37 "$assert(curr_status == __FINALIZED, ... )"
[junit] --> State 58
[junit] State 58, p2:
[junit] 89->90: $comm_destroy(&<d8>heap.malloc5[0][0]) at civl-mpi.cvl:103.2-25 "$comm_destroy(comm.p2p)"
[junit] 90->91: $comm_destroy(&<d8>heap.malloc5[1][0]) at civl-mpi.cvl:104.2-25 "$comm_destroy(comm.col)"
[junit] 91->92: $collect_checker_destroy(&<d8>heap.malloc3[0][0]) at civl-mpi.cvl:105.2-48 "$collect_checker_destroy(comm.collect_checker)"
[junit] 92->93: $barrier_destroy(&<d8>heap.malloc1[0][0]) at civl-mpi.cvl:106.2-32 "$barrier_destroy(comm.barrier)"
[junit] 93->RET: $mpi_comm_destroy(...) return at civl-mpi.cvl:107.0-1 "}"
[junit] 130->131: _anon_7="process %d terminates\n" at wildcard.cvl:34.9-34 ""process %d terminates\n""
[junit] --> State 59
[junit] State 59, p2:
[junit] 131->132: printf("process %d terminates\n", 1) at wildcard.cvl:34.2-41 "printf("process %d terminates\n", rank)"
[junit] 132->RET: _mpi_process(...) return at wildcard.cvl:35.0-1 "}"
[junit] --> State 60
[junit] State 60, p1:
[junit] 299->109: in=$comm_dequeue_work(&<d6>heap.malloc5[0][0], 1, 1) [in:=($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}] at civl-mpi.cvl:162.4-41 "in = $comm_dequeue(comm, ... )"
[junit] 109->51: $sef$3=sizeofDatatype(8) at civl-mpi.cvl:164.21-45 "sizeofDatatype(datatype)"
[junit] --> State 61
[junit] State 61, p1:
[junit] 51->52: CASE_8(8==8) at civl-mpi.cvl:38.2-39.23 "case MPI_INT:\n return sizeof ... ;"
[junit] 52->53: sizeofDatatype(...) return SIZEOF_INT [$sef$3:=SIZEOF_INT] at civl-mpi.cvl:39.4-23 "return sizeof(int);"
[junit] 110->111: size=1*SIZEOF_INT [size:=SIZEOF_INT] at civl-mpi.cvl:164.4-45 "int size = count*sizeofDatatype ... )"
[junit] --> State 63
[junit] State 63, p1:
[junit] 111->46: $message_unpack(($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}, &<d6>msg, SIZEOF_INT) at civl-mpi.cvl:166.4-34 "$message_unpack(in, buf, size)"
[junit] --> State 64
[junit] State 64, p1:
[junit] 46->47: $bundle_unpack((int[1]){1}, &<d6>msg) at comm.cvl:81.2-35 "$bundle_unpack(message.data, buf)"
[junit] 47->48: _anon_4="Message of size %d exceeds the specified size %d." at comm.cvl:82.32-83 ""Message of size %d exceeds the specified size %d.""
[junit] --> State 65
[junit] State 65, p1:
[junit] 48->49: $assert(SIZEOF_INT<=SIZEOF_INT, "Message of size %d exceeds the specified size %d.", SIZEOF_INT, SIZEOF_INT) at comm.cvl:82.2-104 "$assert(message.size <= size ... )"
[junit] 49->RET: $message_unpack(...) return at comm.cvl:83.0-1 "}"
[junit] --> State 66
[junit] State 66, p1:
[junit] 112->113: TRUE_BRANCH_IF(&<d6>status!=((struct MPI_Status)*)0) at civl-mpi.cvl:167.37-38 "{"
[junit] --> State 67
[junit] State 67, p1:
[junit] 113->45: (*(&<d6>status)).size=$message_size(($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}) at civl-mpi.cvl:168.6-38 "status->size = $message_size(in)"
[junit] --> State 68
[junit] State 68, p1:
[junit] 45->RET: $message_size(...) return SIZEOF_INT [(*(&<d6>status)).size:=SIZEOF_INT] at comm.cvl:75.2-22 "return message.size;"
[junit] --> State 69
[junit] State 69, p1:
[junit] 114->43: (*(&<d6>status)).MPI_SOURCE=$message_source(($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}) at civl-mpi.cvl:169.6-46 "status->MPI_SOURCE = $message_source(in)"
[junit] --> State 70
[junit] State 70, p1:
[junit] 43->RET: $message_source(...) return 1 [(*(&<d6>status)).MPI_SOURCE:=1] at comm.cvl:60.2-24 "return message.source;"
[junit] --> State 71
[junit] State 71, p1:
[junit] 115->44: (*(&<d6>status)).MPI_TAG=$message_tag(($message){.source=1, .dest=0, .tag=1, .data={1}, .size=SIZEOF_INT}) at civl-mpi.cvl:170.6-40 "status->MPI_TAG = $message_tag(in)"
[junit] --> State 72
[junit] State 72, p1:
[junit] 44->RET: $message_tag(...) return 1 [(*(&<d6>status)).MPI_TAG:=1] at comm.cvl:65.2-21 "return message.tag;"
[junit] --> State 73
[junit] State 73, p1:
[junit] 116->117: (*(&<d6>status)).MPI_ERROR=0 at civl-mpi.cvl:171.6-27 "status->MPI_ERROR = 0"
[junit] --> State 74
[junit] State 74, p1:
[junit] 117->RET: $mpi_recv(...) return 0 [$sef$1:=0] at civl-mpi.cvl:174.2-11 "return 0;"
[junit] 25->RET: MPI_Recv(...) return 0 at mpi.cvl:83.2-89 "return $mpi_recv(buf, count, ... ;"
[junit] 137->135: i=1+1 [i:=2] at wildcard.cvl:28.27-30 "i++"
[junit] 135->128: LOOP_BODY_EXIT(!(2<2)) at wildcard.cvl:28.17-25 "i<NPROCS"
[junit] --> State 75
[junit] State 75, p1:
[junit] 128->96: $mpi_finalize() at wildcard.cvl:32.2-17 "$mpi_finalize()"
[junit] --> State 76
[junit] State 76, p1:
[junit] 96->97: $mpi_set_status(2) at civl-mpi.cvl:115.2-30 "$mpi_set_status(__FINALIZED)"
[junit] 97->RET: $mpi_finalize(...) return 0 at civl-mpi.cvl:116.2-11 "return 0;"
[junit] 129->85: $mpi_comm_destroy((MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}) at wildcard.cvl:33.2-35 "$mpi_comm_destroy(MPI_COMM_WORLD)"
[junit] --> State 77
[junit] State 77, p1:
[junit] 85->86: curr_status=$mpi_get_status() [curr_status:=2] at civl-mpi.cvl:99.2-33 "curr_status = $mpi_get_status()"
[junit] 86->87: TRUE_BRANCH_IF(0==0) at civl-mpi.cvl:101.4-11 "$assert"
[junit] 87->88: _anon_6="Process terminates without calling MPI_Finalize() first." at civl-mpi.cvl:0.-1-102.36 ""Process terminates without calling MPI_Finalize() first."" from concatenation of the following 2 tokens:
[junit] civl-mpi.cvl:101.40-69 ""Process terminates without ""
[junit] civl-mpi.cvl:102.5-36 ""calling MPI_Finalize() first.""
[junit] --> State 78
[junit] State 78, p1:
[junit] 88->89: $assert(2==2, "Process terminates without calling MPI_Finalize() first.") at civl-mpi.cvl:101.4-102.37 "$assert(curr_status == __FINALIZED, ... )"
[junit] --> State 79
[junit] State 79, p1:
[junit] 89->90: $comm_destroy(&<d6>heap.malloc5[0][0]) at civl-mpi.cvl:103.2-25 "$comm_destroy(comm.p2p)"
[junit] 90->91: $comm_destroy(&<d6>heap.malloc5[1][0]) at civl-mpi.cvl:104.2-25 "$comm_destroy(comm.col)"
[junit] 91->92: $collect_checker_destroy(&<d6>heap.malloc3[0][0]) at civl-mpi.cvl:105.2-48 "$collect_checker_destroy(comm.collect_checker)"
[junit] 92->93: $barrier_destroy(&<d6>heap.malloc1[0][0]) at civl-mpi.cvl:106.2-32 "$barrier_destroy(comm.barrier)"
[junit] 93->RET: $mpi_comm_destroy(...) return at civl-mpi.cvl:107.0-1 "}"
[junit] 130->131: _anon_7="process %d terminates\n" at wildcard.cvl:34.9-34 ""process %d terminates\n""
[junit] --> State 80
[junit] State 80, p1:
[junit] 131->132: printf("process %d terminates\n", 0) at wildcard.cvl:34.2-41 "printf("process %d terminates\n", rank)"
[junit] 132->RET: _mpi_process(...) return at wildcard.cvl:35.0-1 "}"
[junit] --> State 81
[junit] State 81, p0:
[junit] 10->11: $wait(p1) at wildcard.cvl:45.4-19 "$wait(procs[i])"
[junit] 11->9: i=0+1 [i:=1] at wildcard.cvl:44.25-28 "i++"
[junit] 9->10: LOOP_BODY_ENTER(1<2) at wildcard.cvl:44.15-23 "i<NPROCS"
[junit] --> State 82
[junit] State 82, p0:
[junit] 10->11: $wait(p1) at wildcard.cvl:45.4-19 "$wait(procs[i])"
[junit] 11->9: i=1+1 [i:=2] at wildcard.cvl:44.25-28 "i++"
[junit] 9->12: LOOP_BODY_EXIT(!(2<2)) at wildcard.cvl:44.15-23 "i<NPROCS"
[junit] --> State 83
[junit] State 83, p0:
[junit] 12->73: $mpi_gcomm_destroy(($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}) at wildcard.cvl:47.2-38 "$mpi_gcomm_destroy(__MPI_COMM_WORLD)"
[junit] --> State 84
[junit] State 84, p0:
[junit] 73->74: $gcomm_destroy(&<d0>heap.malloc4[0][0]) at civl-mpi.cvl:79.2-24 "$gcomm_destroy(gc.p2p)"
[junit] 74->75: $gcomm_destroy(&<d0>heap.malloc4[1][0]) at civl-mpi.cvl:80.2-24 "$gcomm_destroy(gc.col)"
[junit] 75->76: $gcollect_checker_destroy(&<d0>heap.malloc2[0][0]) at civl-mpi.cvl:81.2-47 "$gcollect_checker_destroy(gc.collect_checker)"
[junit] 76->77: $gbarrier_destroy(&<d0>heap.malloc0[0][0]) at civl-mpi.cvl:82.2-32 "$gbarrier_destroy(gc.gbarrier)"
[junit] 77->RET: $mpi_gcomm_destroy(...) return at civl-mpi.cvl:83.0-1 "}"
[junit] 13->RET: _CIVL_system(...) return at wildcard.cvl:48.0-1 "}"
[junit] --> State 85
[junit]
[junit] === Command ===
[junit] civl verify -inputNPROCS=2 -showTransitions -enablePrintf=false examples/concurrency/wildcard.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 1.38
[junit] memory (bytes) : 1013972992
[junit] max process count : 3
[junit] states : 181
[junit] states saved : 86
[junit] state matches : 0
[junit] transitions : 179
[junit] trace steps : 83
[junit] valid calls : 355
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/concurrency/locksGood.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1013972992
[junit] max process count : 3
[junit] states : 15
[junit] states saved : 4
[junit] state matches : 2
[junit] transitions : 16
[junit] trace steps : 5
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputN=10 examples/concurrency/spawn2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1013972992
[junit] max process count : 3
[junit] states : 717
[junit] states saved : 159
[junit] state matches : 121
[junit] transitions : 837
[junit] trace steps : 279
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=4 examples/concurrency/barrier.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.24
[junit] memory (bytes) : 1013972992
[junit] max process count : 5
[junit] states : 10301
[junit] states saved : 3120
[junit] state matches : 2604
[junit] transitions : 12896
[junit] trace steps : 5723
[junit] valid calls : 39199
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 57:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mpi-pthreads.cvl:43.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_INT+-1
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit] process p5 (id=5): terminated
[junit] process p6 (id=6): false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mpi-pthreads.cvl:43.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p2 (id=2):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p3 (id=3):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p4 (id=4):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p5 (id=5):
[junit] terminated
[junit] process p6 (id=6):
[junit] Thread at mpi-pthreads.cvl:24.37-50 "$comm_dequeue"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/mpi-pthreads_0.trace
[junit] Restricting search depth to 56
[junit]
[junit] Violation 1 encountered at depth 56:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mpi-pthreads.cvl:43.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_INT+-1
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit] process p5 (id=5): false
[junit] process p6 (id=6): false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mpi-pthreads.cvl:43.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p2 (id=2):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p3 (id=3):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p4 (id=4):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p5 (id=5):
[junit] Thread at mpi-pthreads.cvl:24.37-50 "$comm_dequeue"
[junit] process p6 (id=6):
[junit] Thread at mpi-pthreads.cvl:24.37-50 "$comm_dequeue"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (56) is less than length of old (57): replacing old with new...
[junit] Restricting search depth to 55
[junit]
[junit] Violation 2 encountered at depth 44:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mpi-pthreads.cvl:43.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_INT+-1
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit] process p5 (id=5): false
[junit] process p6 (id=6): false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mpi-pthreads.cvl:43.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p2 (id=2):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p3 (id=3):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p4 (id=4):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p5 (id=5):
[junit] Thread at mpi-pthreads.cvl:24.37-50 "$comm_dequeue"
[junit] process p6 (id=6):
[junit] Thread at mpi-pthreads.cvl:24.37-50 "$comm_dequeue"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (44) is less than length of old (56): replacing old with new...
[junit] Restricting search depth to 43
[junit]
[junit] === Command ===
[junit] civl verify -min examples/concurrency/mpi-pthreads.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.16
[junit] memory (bytes) : 1013972992
[junit] max process count : 7
[junit] states : 1389
[junit] states saved : 372
[junit] state matches : 86
[junit] transitions : 1474
[junit] trace steps : 453
[junit] valid calls : 9044
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/mpi-pthreads_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 19:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at diningBad.cvl:31.11-12 ";":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at diningBad.cvl:31.11-12 ";"
[junit] process p1 (id=1):
[junit] dine at diningBad.cvl:21.4-9 "$when"
[junit] process p2 (id=2):
[junit] dine at diningBad.cvl:21.4-9 "$when"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/diningBad_0.trace
[junit] Restricting search depth to 18
[junit]
[junit] Violation 1 encountered at depth 14:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at diningBad.cvl:31.11-12 ";":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at diningBad.cvl:31.11-12 ";"
[junit] process p1 (id=1):
[junit] dine at diningBad.cvl:21.4-9 "$when"
[junit] process p2 (id=2):
[junit] dine at diningBad.cvl:21.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (14) is less than length of old (19): replacing old with new...
[junit] Restricting search depth to 13
[junit]
[junit] === Command ===
[junit] civl verify -inputB=4 -min examples/concurrency/diningBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1013972992
[junit] max process count : 5
[junit] states : 65
[junit] states saved : 42
[junit] state matches : 2
[junit] transitions : 62
[junit] trace steps : 45
[junit] valid calls : 425
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/diningBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] State 13
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | B = 4
[junit] | | | | n = 2
[junit] | | | | forks = (boolean[2]){false, false}
[junit] | | | | _dom_size0 = 2
[junit] | | | | _par_procs0 = (process[2]){p1, p2}
[junit] | | dyscope d1 (id=1, parent=d0, static=3)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | | | __LiteralDomain_counter0__ = NULL
[junit] | | dyscope d2 (id=2, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | id = 0
[junit] | | dyscope d3 (id=3, parent=d2, static=7)
[junit] | | | variables
[junit] | | | | left = 0
[junit] | | | | right = 1
[junit] | | dyscope d4 (id=4, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | id = 1
[junit] | | dyscope d5 (id=5, parent=d4, static=7)
[junit] | | | variables
[junit] | | | | left = 1
[junit] | | | | right = 0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=10, diningBad.cvl:31.11-12 ";", dyscope=d0]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=dine, location=16, diningBad.cvl:21.4-9 "$when", dyscope=d3]
[junit] | | process p2(id=2)
[junit] | | | call stack
[junit] | | | | Frame[function=dine, location=16, diningBad.cvl:21.4-9 "$when", dyscope=d5]
[junit]
[junit] Violation of Deadlock found in State 13:
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Trace ends after 13 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay examples/concurrency/diningBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1013972992
[junit] max process count : 3
[junit] states : 23
[junit] states Saved : 14
[junit] valid calls : 142
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputNUM_ACCOUNTS=3 examples/concurrency/bank.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1013972992
[junit] max process count : 3
[junit] states : 1139
[junit] states saved : 400
[junit] state matches : 82
[junit] transitions : 1220
[junit] trace steps : 481
[junit] valid calls : 831
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential -inputNPROCS_BOUND=8 -inputN_BOUND=4 examples/concurrency/ring.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.61
[junit] memory (bytes) : 1013972992
[junit] max process count : 9
[junit] states : 5559
[junit] states saved : 3286
[junit] state matches : 0
[junit] transitions : 5558
[junit] trace steps : 2772
[junit] valid calls : 13058
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 35
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=5 examples/concurrency/adder.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.12
[junit] memory (bytes) : 1013972992
[junit] max process count : 6
[junit] states : 780
[junit] states saved : 618
[junit] state matches : 72
[junit] transitions : 846
[junit] trace steps : 681
[junit] valid calls : 6285
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 17
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential -inputNPROCS=3 examples/concurrency/ring1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.13
[junit] memory (bytes) : 1018691584
[junit] max process count : 4
[junit] states : 112
[junit] states saved : 56
[junit] state matches : 0
[junit] transitions : 111
[junit] trace steps : 49
[junit] valid calls : 367
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential -inputNPROCS=3 examples/concurrency/ring2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.11
[junit] memory (bytes) : 1018691584
[junit] max process count : 4
[junit] states : 203
[junit] states saved : 133
[junit] state matches : 0
[junit] transitions : 202
[junit] trace steps : 123
[junit] valid calls : 790
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -deadlock=potential examples/concurrency/ring3.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1018691584
[junit] max process count : 3
[junit] states : 70
[junit] states saved : 51
[junit] state matches : 1
[junit] transitions : 69
[junit] trace steps : 42
[junit] valid calls : 403
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputN=10 examples/concurrency/spawn.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1018691584
[junit] max process count : 3
[junit] states : 83
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 82
[junit] trace steps : 7
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at waitSelf.cvl:4.1-6 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at waitSelf.cvl:4.1-6 "$wait"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/waitSelf_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/concurrency/waitSelf.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1018691584
[junit] max process count : 0
[junit] states : 1
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 0
[junit] trace steps : 0
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/waitSelf_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 59:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at barrierBad.cvl:44.26-31 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/barrierBad_0.trace
[junit] Restricting search depth to 58
[junit]
[junit] Violation 1 encountered at depth 56:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 3==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/barrierBad_1.trace
[junit] Restricting search depth to 55
[junit]
[junit] Violation 2 encountered at depth 54:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 3==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:20.2-16 "num_in_barrier" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (54) is less than length of old (56): replacing old with new...
[junit] Restricting search depth to 53
[junit]
[junit] Violation 3 encountered at depth 52:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 2==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] run at barrierBad.cvl:32.4-11 "counter"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (52) is less than length of old (54): replacing old with new...
[junit] Restricting search depth to 51
[junit]
[junit] Violation 4 encountered at depth 50:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 2==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:23.4-18 "num_in_barrier" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (50) is less than length of old (52): replacing old with new...
[junit] Restricting search depth to 49
[junit]
[junit] Violation 5 encountered at depth 48:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 2==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:20.2-16 "num_in_barrier" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:23.4-18 "num_in_barrier" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (48) is less than length of old (50): replacing old with new...
[junit] Restricting search depth to 47
[junit]
[junit] Violation 6 encountered at depth 46:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 2==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:20.2-16 "num_in_barrier" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (46) is less than length of old (48): replacing old with new...
[junit] Restricting search depth to 45
[junit]
[junit] Violation 7 encountered at depth 44:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 1==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] run at barrierBad.cvl:32.4-11 "counter"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (44) is less than length of old (46): replacing old with new...
[junit] Restricting search depth to 43
[junit]
[junit] Violation 8 encountered at depth 42:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=4
[junit] Assertion: $assert((counter==N))
[junit] -> 1==4
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p4 (id=4):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (42) is less than length of old (44): replacing old with new...
[junit] Restricting search depth to 41
[junit]
[junit] Violation 9 encountered at depth 40:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=3
[junit] Assertion: $assert((counter==N))
[junit] -> 2==3
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:19.2-17 "in_barrier[tid]" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (40) is less than length of old (42): replacing old with new...
[junit] Restricting search depth to 39
[junit]
[junit] Violation 10 encountered at depth 38:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=3
[junit] Assertion: $assert((counter==N))
[junit] -> 1==3
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (38) is less than length of old (40): replacing old with new...
[junit] Restricting search depth to 37
[junit]
[junit] Violation 11 encountered at depth 36:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=3
[junit] Assertion: $assert((counter==N))
[junit] -> 1==3
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit] process p3 (id=3):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (36) is less than length of old (38): replacing old with new...
[junit] Restricting search depth to 35
[junit]
[junit] Violation 12 encountered at depth 32:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at barrierBad.cvl:44.26-31 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:25.2-7 "$when" called from
[junit] run at barrierBad.cvl:33.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (32) is less than length of old (59): replacing old with new...
[junit] Restricting search depth to 31
[junit]
[junit] Violation 13 encountered at depth 29:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at barrierBad.cvl:34.4-27 "$assert((counter == N))":
[junit]
[junit] Input variables:
[junit] B=4
[junit] N=2
[junit] Assertion: $assert((counter==N))
[junit] -> 1==2
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at barrierBad.cvl:44.26-31 "$wait"
[junit] process p1 (id=1):
[junit] run at barrierBad.cvl:34.4-11 "$assert"
[junit] process p2 (id=2):
[junit] barrier at barrierBad.cvl:22.28-41 "in_barrier[i]" called from
[junit] run at barrierBad.cvl:31.4-11 "barrier"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (29) is less than length of old (36): replacing old with new...
[junit] Restricting search depth to 28
[junit]
[junit] === Command ===
[junit] civl verify -min -inputB=4 examples/concurrency/barrierBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.73
[junit] memory (bytes) : 1009778688
[junit] max process count : 5
[junit] states : 40906
[junit] states saved : 11650
[junit] state matches : 20320
[junit] transitions : 61225
[junit] trace steps : 31963
[junit] valid calls : 66532
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 13
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/barrierBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] State 33
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | B = 4
[junit] | | | | N = 2
[junit] | | | | threads = (process[2]){p1, p2}
[junit] | | | | in_barrier = (int[2]){1, 1}
[junit] | | | | num_in_barrier = 1
[junit] | | | | counter = 2
[junit] | | dyscope d1 (id=1, parent=d0, static=4)
[junit] | | | variables
[junit] | | dyscope d2 (id=2, parent=d1, static=9)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d3 (id=3, parent=d0, static=7)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d4 (id=4, parent=d0, static=6)
[junit] | | | variables
[junit] | | | | tid = 0
[junit] | | dyscope d5 (id=5, parent=d0, static=6)
[junit] | | | variables
[junit] | | | | tid = 1
[junit] | | dyscope d6 (id=6, parent=d0, static=8)
[junit] | | | variables
[junit] | | | | i = 0
[junit] | | dyscope d7 (id=7, parent=d0, static=5)
[junit] | | | variables
[junit] | | | | tid = 0
[junit] | | dyscope d8 (id=8, parent=d0, static=5)
[junit] | | | variables
[junit] | | | | tid = 1
[junit] | | dyscope d9 (id=9, parent=d8, static=10)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d7 (id=10, parent=d0, static=5)
[junit] | | | variables
[junit] | | | | tid = 0
[junit] | | dyscope d8 (id=11, parent=d0, static=5)
[junit] | | | variables
[junit] | | | | tid = 1
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=14, barrierBad.cvl:44.26-31 "$wait", dyscope=d6]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=barrier, location=30, barrierBad.cvl:25.2-7 "$when", dyscope=d7]
[junit] | | | | Frame[function=run, location=36, barrierBad.cvl:33.4-11 "barrier", dyscope=d4]
[junit] | | process p2(id=2)
[junit] | | | call stack
[junit] | | | | Frame[function=barrier, location=30, barrierBad.cvl:25.2-7 "$when", dyscope=d8]
[junit] | | | | Frame[function=run, location=36, barrierBad.cvl:33.4-11 "barrier", dyscope=d5]
[junit]
[junit] Violation of Deadlock found in State 33:
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Trace ends after 31 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay -id=0 examples/concurrency/barrierBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1009778688
[junit] max process count : 3
[junit] states : 63
[junit] states Saved : 34
[junit] valid calls : 139
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 9
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 57:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at mpi-pthreads.cvl:43.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: 0 <= SIZEOF_INT+-1
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit] process p5 (id=5): terminated
[junit] process p6 (id=6): false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mpi-pthreads.cvl:43.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p2 (id=2):
[junit] MPI_Process at mpi-pthreads.cvl:34.2-10 "$waitall"
[junit] process p3 (id=3):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p4 (id=4):
[junit] Thread at mpi-pthreads.cvl:26.37-50 "$comm_dequeue"
[junit] process p5 (id=5):
[junit] terminated
[junit] process p6 (id=6):
[junit] Thread at mpi-pthreads.cvl:24.37-50 "$comm_dequeue"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/mpi-pthreads_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/concurrency/mpi-pthreads.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 1009778688
[junit] max process count : 7
[junit] states : 866
[junit] states saved : 252
[junit] state matches : 46
[junit] transitions : 911
[junit] trace steps : 293
[junit] valid calls : 6093
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/mpi-pthreads_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 31:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit] process p3 (id=3):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/blockAdderBad_0.trace
[junit] Restricting search depth to 30
[junit]
[junit] Violation 1 encountered at depth 29:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (29) is less than length of old (31): replacing old with new...
[junit] Restricting search depth to 28
[junit]
[junit] Violation 2 encountered at depth 27:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (27) is less than length of old (29): replacing old with new...
[junit] Restricting search depth to 26
[junit]
[junit] Violation 3 encountered at depth 26:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit] process p3 (id=3):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (26) is less than length of old (27): replacing old with new...
[junit] Restricting search depth to 25
[junit]
[junit] Violation 4 encountered at depth 24:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (24) is less than length of old (26): replacing old with new...
[junit] Restricting search depth to 23
[junit]
[junit] Violation 5 encountered at depth 23:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit] process p3 (id=3):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (23) is less than length of old (24): replacing old with new...
[junit] Restricting search depth to 22
[junit]
[junit] Violation 6 encountered at depth 21:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (21) is less than length of old (23): replacing old with new...
[junit] Restricting search depth to 20
[junit]
[junit] Violation 7 encountered at depth 20:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit] process p3 (id=3):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (20) is less than length of old (21): replacing old with new...
[junit] Restricting search depth to 19
[junit]
[junit] Violation 8 encountered at depth 18:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (18) is less than length of old (20): replacing old with new...
[junit] Restricting search depth to 17
[junit]
[junit] Violation 9 encountered at depth 17:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit] process p3 (id=3):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (17) is less than length of old (18): replacing old with new...
[junit] Restricting search depth to 16
[junit]
[junit] Violation 10 encountered at depth 15:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at blockAdderBad.cvl:46.2-10 "$waitall":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] adder_par at blockAdderBad.cvl:46.2-10 "$waitall" called from
[junit] _CIVL_system at blockAdderBad.cvl:52.19-28 "adder_par"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] run_worker at blockAdderBad.cvl:38.4-9 "$when"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (15) is less than length of old (17): replacing old with new...
[junit] Restricting search depth to 14
[junit]
[junit] === Command ===
[junit] civl verify -inputB=6 -inputW=3 -min examples/concurrency/blockAdderBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.2
[junit] memory (bytes) : 1009778688
[junit] max process count : 4
[junit] states : 750
[junit] states saved : 283
[junit] state matches : 0
[junit] transitions : 749
[junit] trace steps : 248
[junit] valid calls : 1844
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 31
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/blockAdderBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] State 17
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | B = 6
[junit] | | | | W = 3
[junit] | | | | N = 1
[junit] | | | | P = 2
[junit] | | | | a = (real[1])X2
[junit] | | dyscope d1 (id=1, parent=d0, static=6)
[junit] | | | variables
[junit] | | | | sum_seq = X2[0]
[junit] | | | | sum_par = NULL
[junit] | | dyscope d2 (id=2, parent=d0, static=4)
[junit] | | | variables
[junit] | | dyscope d3 (id=3, parent=d2, static=7)
[junit] | | | variables
[junit] | | | | s = X2[0]
[junit] | | dyscope d4 (id=4, parent=d3, static=8)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | | dyscope d5 (id=5, parent=d0, static=5)
[junit] | | | variables
[junit] | | dyscope d6 (id=6, parent=d5, static=9)
[junit] | | | variables
[junit] | | | | workers = (process[2]){p1, p2}
[junit] | | | | lock = 1
[junit] | | | | result = 0
[junit] | | dyscope d7 (id=7, parent=d6, static=11)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d8 (id=8, parent=d6, static=12)
[junit] | | | variables
[junit] | | | | i = 2
[junit] | | dyscope d9 (id=9, parent=d6, static=10)
[junit] | | | variables
[junit] | | | | id = 0
[junit] | | dyscope d10 (id=10, parent=d9, static=13)
[junit] | | | variables
[junit] | | | | start = 0
[junit] | | | | stop = 0
[junit] | | | | localSum = 0
[junit] | | dyscope d11 (id=11, parent=d6, static=10)
[junit] | | | variables
[junit] | | | | id = 1
[junit] | | dyscope d12 (id=12, parent=d11, static=13)
[junit] | | | variables
[junit] | | | | start = 0
[junit] | | | | stop = 1
[junit] | | | | localSum = X2[0]
[junit] | | dyscope d13 (id=13, parent=d10, static=14)
[junit] | | | variables
[junit] | | | | i = 0
[junit] | | dyscope d14 (id=14, parent=d12, static=14)
[junit] | | | variables
[junit] | | | | i = 1
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=adder_par, location=28, blockAdderBad.cvl:46.2-10 "$waitall", dyscope=d6]
[junit] | | | | Frame[function=_CIVL_system, location=8, blockAdderBad.cvl:52.19-28 "adder_par", dyscope=d1]
[junit] | | process p1(id=1)
[junit] | | | call stack
[junit] | | process p2(id=2)
[junit] | | | call stack
[junit] | | | | Frame[function=run_worker, location=37, blockAdderBad.cvl:38.4-9 "$when", dyscope=d12]
[junit]
[junit] Violation of Deadlock found in State 17:
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Trace ends after 14 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay examples/concurrency/blockAdderBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 1009778688
[junit] max process count : 3
[junit] states : 52
[junit] states Saved : 18
[junit] valid calls : 110
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 15
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=6 -inputW=3 examples/concurrency/blockAdder.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.15
[junit] memory (bytes) : 1009778688
[junit] max process count : 4
[junit] states : 1196
[junit] states saved : 467
[junit] state matches : 36
[junit] transitions : 1231
[junit] trace steps : 468
[junit] valid calls : 3719
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 31
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/concurrency/dlqueue.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1009778688
[junit] max process count : 3
[junit] states : 272
[junit] states saved : 187
[junit] state matches : 27
[junit] transitions : 298
[junit] trace steps : 200
[junit] valid calls : 105
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 44:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at locksBad10.cvl:32.2-7 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at locksBad10.cvl:32.2-7 "$wait"
[junit] process p1 (id=1):
[junit] f at locksBad10.cvl:12.4-9 "$when"
[junit] process p2 (id=2):
[junit] g at locksBad10.cvl:21.4-9 "$when"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/locksBad10_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/concurrency/locksBad10.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1009778688
[junit] max process count : 3
[junit] states : 142
[junit] states saved : 91
[junit] state matches : 1
[junit] transitions : 142
[junit] trace steps : 91
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/locksBad10_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 11:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at locksBad.cvl:31.2-7 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at locksBad.cvl:31.2-7 "$wait"
[junit] process p1 (id=1):
[junit] proc0 at locksBad.cvl:12.4-9 "$when"
[junit] process p2 (id=2):
[junit] proc1 at locksBad.cvl:21.4-9 "$when"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/locksBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/concurrency/locksBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1009778688
[junit] max process count : 3
[junit] states : 14
[junit] states saved : 11
[junit] state matches : 1
[junit] transitions : 14
[junit] trace steps : 11
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/locksBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 5:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at spawnBad.cvl:23.2-19 "$assert((s1==s2))":
[junit]
[junit] Input variables:
[junit] N=10
[junit] Assertion: $assert((s1==s2))
[junit] -> 1==0
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at spawnBad.cvl:23.2-9 "$assert"
[junit] process p1 (id=1):
[junit] f1 at spawnBad.cvl:11.26-28 "s1"
[junit] process p2 (id=2):
[junit] f2 at spawnBad.cvl:15.2-4 "s2"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/spawnBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -inputN=10 examples/concurrency/spawnBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1009778688
[junit] max process count : 3
[junit] states : 727
[junit] states saved : 162
[junit] state matches : 123
[junit] transitions : 850
[junit] trace steps : 284
[junit] valid calls : 5
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/spawnBad_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.ContractTest
[junit] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.215 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Proc:1 sends 0
[junit] Proc:1 sends 1
[junit] Proc:2 sends 0
[junit] Proc:2 sends 1
[junit]
[junit] Violation 0 encountered at depth 190:
[junit] CIVL execution violation in place: 1 in MPI_COMM_WORLD (kind: MPI_ERROR, certainty: PROVEABLE)
[junit] at wildcard_contract_bad.c:21.28-41 "x@root == msg":
[junit] Contract violation:
[junit] [place: 1 in MPI_COMM_WORLD]:((x@root)==msg)
[junit] ((x@root)==msg) is evaluated as false
[junit] Note: The state where the violated condition be evaluated is merged from a set of snapshots. PID in this state is indeed the place of the process in the group
[junit] State -1:521245
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-3)
[junit] | Dynamic scopes
[junit] | | dyscope d21 (id=0, parent=d4, static=64)
[junit] | | | variables
[junit] | | | | iter = 0
[junit] | | dyscope d4 (id=1, parent=d3, static=62)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=0, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=0, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=0, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = 3
[junit] | | | | rank = 0
[junit] | | | | x = 1
[junit] | | | | root = 0
[junit] | | dyscope d3 (id=2, parent=d0, static=47)
[junit] | | | variables
[junit] | | | | _mpi_rank = 0
[junit] | | dyscope d0 (id=3, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p1, p1},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p1, p1},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=2,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT},
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 1},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p1, p1},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p1, p1}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = "Message of size %d exceeds the specified size %d."
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = "Process terminates without calling MPI_Finalize() first."
[junit] | | | | _anon_7 = "Proc:%d sends %d\n"
[junit] | | dyscope d39 (id=4, parent=d6, static=65)
[junit] | | | variables
[junit] | | | | msg = 0
[junit] | | dyscope d6 (id=5, parent=d5, static=62)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=1, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=1, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=1, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = 3
[junit] | | | | rank = 1
[junit] | | | | x = NULL
[junit] | | | | root = 0
[junit] | | dyscope d5 (id=6, parent=d0, static=47)
[junit] | | | variables
[junit] | | | | _mpi_rank = 1
[junit] | | dyscope d0 (id=7, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p2, $proc_null},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, UNDEFINED},
[junit] | | | | | | | | .isInit={true, true, false},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=1,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=1,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, UNDEFINED},
[junit] | | | | | | | | .isInit={true, true, false},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p2, p1}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = NULL
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = NULL
[junit] | | | | _anon_7 = "Proc:%d sends %d\n"
[junit] | | dyscope d72 (id=8, parent=d8, static=65)
[junit] | | | variables
[junit] | | | | msg = 0
[junit] | | dyscope d8 (id=9, parent=d7, static=62)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=2, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=2, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=2, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = 3
[junit] | | | | rank = 2
[junit] | | | | x = NULL
[junit] | | | | root = 0
[junit] | | dyscope d7 (id=10, parent=d0, static=47)
[junit] | | | variables
[junit] | | | | _mpi_rank = 2
[junit] | | dyscope d0 (id=11, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p2, p3},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, p3},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=2,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=1,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT},
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=1,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 1},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=1,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, p3},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p2, p3}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = NULL
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = "Process terminates without calling MPI_Finalize() first."
[junit] | | | | _anon_7 = "Proc:%d sends %d\n"
[junit] | Process states
[junit] | | process p1(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=recv, location=142, wildcard_contract_bad.c:16.72-73 ";", dyscope=d21]
[junit] | | process p2(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=send, location=146, wildcard_contract_bad.c:26.0-1 "}", dyscope=d39]
[junit] | | process p3(id=2)
[junit] | | | call stack
[junit] | | | | Frame[function=send, location=146, wildcard_contract_bad.c:26.0-1 "}", dyscope=d72]
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/wildcard_contract_bad_0.trace
[junit] Restricting search depth to 189
[junit]
[junit] === Command ===
[junit] civl verify -min -deadlock=potential -mpiContract -input_mpi_nprocs=3 examples/contracts/wildcard_contract_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.23
[junit] memory (bytes) : 1014497280
[junit] max process count : 4
[junit] states : 510
[junit] states saved : 232
[junit] state matches : 1
[junit] transitions : 508
[junit] trace steps : 223
[junit] valid calls : 1838
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/wildcard_contract_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Proc:1 sends 0
[junit] Proc:1 sends 1
[junit] Proc:2 sends 0
[junit] Proc:2 sends 1
[junit] Error 0:
[junit] CIVL execution violation in place: 1 in MPI_COMM_WORLD (kind: MPI_ERROR, certainty: PROVEABLE)
[junit] at wildcard_contract_bad.c:21.28-41 "x@root == msg":
[junit] Contract violation:
[junit] [place: 1 in MPI_COMM_WORLD]:((x@root)==msg)
[junit] ((x@root)==msg) is evaluated as false
[junit] Note: The state where the violated condition be evaluated is merged from a set of snapshots. PID in this state is indeed the place of the process in the group
[junit] State -1:522959
[junit] | Path condition
[junit] | | (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-3)
[junit] | Dynamic scopes
[junit] | | dyscope d21 (id=0, parent=d4, static=64)
[junit] | | | variables
[junit] | | | | iter = 0
[junit] | | dyscope d4 (id=1, parent=d3, static=62)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=0, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=0, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=0, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d4>heap.malloc5[0][0], .col=&<d4>heap.malloc5[1][0], .collect_checker=&<d4>heap.malloc3[0][0], .barrier=&<d4>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = 3
[junit] | | | | rank = 0
[junit] | | | | x = 1
[junit] | | | | root = 0
[junit] | | dyscope d3 (id=2, parent=d0, static=47)
[junit] | | | variables
[junit] | | | | _mpi_rank = 0
[junit] | | dyscope d0 (id=3, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p1, p1},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p1, p1},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=2,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT},
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 1},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p1, p1},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p1, p1}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = "Message of size %d exceeds the specified size %d."
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = "Process terminates without calling MPI_Finalize() first."
[junit] | | | | _anon_7 = "Proc:%d sends %d\n"
[junit] | | dyscope d39 (id=4, parent=d6, static=65)
[junit] | | | variables
[junit] | | | | msg = 0
[junit] | | dyscope d6 (id=5, parent=d5, static=62)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=1, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=1, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=1, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d6>heap.malloc5[0][0], .col=&<d6>heap.malloc5[1][0], .collect_checker=&<d6>heap.malloc3[0][0], .barrier=&<d6>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = 3
[junit] | | | | rank = 1
[junit] | | | | x = NULL
[junit] | | | | root = 0
[junit] | | dyscope d5 (id=6, parent=d0, static=47)
[junit] | | | variables
[junit] | | | | _mpi_rank = 1
[junit] | | dyscope d0 (id=7, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p2, $proc_null},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, UNDEFINED},
[junit] | | | | | | | | .isInit={true, true, false},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=1,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=1,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, UNDEFINED},
[junit] | | | | | | | | .isInit={true, true, false},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p2, p1}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = NULL
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = NULL
[junit] | | | | _anon_7 = "Proc:%d sends %d\n"
[junit] | | dyscope d72 (id=8, parent=d8, static=65)
[junit] | | | variables
[junit] | | | | msg = 0
[junit] | | dyscope d8 (id=9, parent=d7, static=62)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 1:
[junit] | | | | | | 0: ($barrier[1]){
[junit] | | | | | | | {.place=2, .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | | objects of malloc 3:
[junit] | | | | | | 0: ($collect_checker[1]){
[junit] | | | | | | | {.checker=&<d0>heap.malloc2[0][0]}}
[junit] | | | | | objects of malloc 5:
[junit] | | | | | | 0: ($comm[1]){
[junit] | | | | | | | {.place=2, .gcomm=&<d0>heap.malloc4[0][0]}}
[junit] | | | | | | 1: ($comm[1]){
[junit] | | | | | | | {.place=2, .gcomm=&<d0>heap.malloc4[1][0]}}
[junit] | | | | _mpi_status = 1
[junit] | | | | MPI_COMM_WORLD = (MPI_Comm){.p2p=&<d8>heap.malloc5[0][0], .col=&<d8>heap.malloc5[1][0], .collect_checker=&<d8>heap.malloc3[0][0], .barrier=&<d8>heap.malloc1[0][0], .gcommIndex=0}
[junit] | | | | size = 3
[junit] | | | | rank = 2
[junit] | | | | x = NULL
[junit] | | | | root = 0
[junit] | | dyscope d7 (id=10, parent=d0, static=47)
[junit] | | | variables
[junit] | | | | _mpi_rank = 2
[junit] | | dyscope d0 (id=11, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _heap =
[junit] | | | | | objects of malloc 0:
[junit] | | | | | | 0: ($gbarrier[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .proc_map={p1, p2, p3},
[junit] | | | | | | | | .in_barrier={false, false, false},
[junit] | | | | | | | | .num_in_barrier=0}}
[junit] | | | | | objects of malloc 2:
[junit] | | | | | | 0: ($gcollect_checker[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .length=0,
[junit] | | | | | | | | .records={}}}
[junit] | | | | | objects of malloc 4:
[junit] | | | | | | 0: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, p3},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=2,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=1,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT},
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=1,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 1},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=1,
[junit] | | | | | | | | | | | .messages={
[junit] | | | | | | | | | | | | {
[junit] | | | | | | | | | | | | | .source=2,
[junit] | | | | | | | | | | | | | .dest=0,
[junit] | | | | | | | | | | | | | .tag=0,
[junit] | | | | | | | | | | | | | .data={
[junit] | | | | | | | | | | | | | | 0},
[junit] | | | | | | | | | | | | | .size=SIZEOF_INT}}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | | | 1: ($gcomm[1]){
[junit] | | | | | | | {
[junit] | | | | | | | | .nprocs=3,
[junit] | | | | | | | | .procs={p1, p2, p3},
[junit] | | | | | | | | .isInit={true, true, true},
[junit] | | | | | | | | .buf={
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}},
[junit] | | | | | | | | | {
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}},
[junit] | | | | | | | | | | {
[junit] | | | | | | | | | | | .length=0,
[junit] | | | | | | | | | | | .messages={}}}}}}
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | _mpi_nprocs = 3
[junit] | | | | _mpi_nprocs_lo = 1
[junit] | | | | _mpi_nprocs_hi = X2
[junit] | | | | _mpi_gcomm = ($mpi_gcomm){.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}
[junit] | | | | _mpi_gcomms = ($mpi_gcomm[1]){
[junit] | | | | | {.p2p=&<d0>heap.malloc4[0][0], .col=&<d0>heap.malloc4[1][0], .collect_checker=&<d0>heap.malloc2[0][0], .gbarrier=&<d0>heap.malloc0[0][0]}}
[junit] | | | | _dom_size0 = 3
[junit] | | | | _par_procs0 = (process[3]){p1, p2, p3}
[junit] | | | | _anon_0 = "MPI_Send() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_1 = "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_2 = "MPI_Comm_size() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_3 = "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n"
[junit] | | | | _anon_4 = NULL
[junit] | | | | _anon_5 = NULL
[junit] | | | | _anon_6 = "Process terminates without calling MPI_Finalize() first."
[junit] | | | | _anon_7 = "Proc:%d sends %d\n"
[junit] | Process states
[junit] | | process p1(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=recv, location=142, wildcard_contract_bad.c:16.72-73 ";", dyscope=d21]
[junit] | | process p2(id=1)
[junit] | | | call stack
[junit] | | | | Frame[function=send, location=146, wildcard_contract_bad.c:26.0-1 "}", dyscope=d39]
[junit] | | process p3(id=2)
[junit] | | | call stack
[junit] | | | | Frame[function=send, location=146, wildcard_contract_bad.c:26.0-1 "}", dyscope=d72]
[junit]
[junit] Trace ends after 190 trace steps.
[junit] Violation(s) found.
[junit]
[junit] === Command ===
[junit] civl replay examples/contracts/wildcard_contract_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.16
[junit] memory (bytes) : 1014497280
[junit] max process count : 4
[junit] states : 437
[junit] states Saved : 196
[junit] valid calls : 1453
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 195:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:14.32-41 "x == iter":
[junit] $mpi_coassert violation: assertion:(x==iter)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-3)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/wildcard_coassert_bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=3 -mpiContract examples/contracts/wildcard_coassert_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.14
[junit] memory (bytes) : 979369984
[junit] max process count : 4
[junit] states : 442
[junit] states saved : 201
[junit] state matches : 0
[junit] transitions : 439
[junit] trace steps : 194
[junit] valid calls : 1479
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/wildcard_coassert_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=4 -deadlock=potential -mpiContract examples/contracts/wildcard_coassert_barrier.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.47
[junit] memory (bytes) : 999817216
[junit] max process count : 5
[junit] states : 1330
[junit] states saved : 650
[junit] state matches : 10
[junit] transitions : 1324
[junit] trace steps : 621
[junit] valid calls : 5835
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=5 -deadlock=potential -mpiContract examples/contracts/reduce_coassert.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.32
[junit] memory (bytes) : 999817216
[junit] max process count : 6
[junit] states : 1781
[junit] states saved : 962
[junit] state matches : 0
[junit] transitions : 1779
[junit] trace steps : 921
[junit] valid calls : 7165
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:14.32-41 "x == iter":
[junit] $mpi_coassert violation: assertion:(x==iter)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/wildcard_coassert_bad_0.trace
[junit]
[junit] Violation 1 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 1 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/wildcard_coassert_bad_1.trace
[junit]
[junit] Violation 2 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 2 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 3 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 3 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 4 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:14.32-41 "x == iter":
[junit] $mpi_coassert violation: assertion:(x==iter)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 5 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 1 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 6 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 2 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 7 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 3 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 8 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:14.32-41 "x == iter":
[junit] $mpi_coassert violation: assertion:(x==iter)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit]
[junit] Violation 9 encountered at depth 276:
[junit] CIVL execution violation in process with rank: 1 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wildcard_coassert_bad.c:20.32-45 "x@root == msg":
[junit] $mpi_coassert violation: assertion:((x@root)==msg)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-4)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at wildcard_coassert_bad.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit] process p4 (id=3):
[junit] send at wildcard_coassert_bad.c:20.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (276) is greater than or equal to length of old (276): ignoring new trace.
[junit] Terminating search after finding 10 violations.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=4 -deadlock=potential -errorBound=10 -mpiContract examples/contracts/wildcard_coassert_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.48
[junit] memory (bytes) : 1043333120
[junit] max process count : 5
[junit] states : 1443
[junit] states saved : 700
[junit] state matches : 15
[junit] transitions : 1435
[junit] trace steps : 670
[junit] valid calls : 6375
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/wildcard_coassert_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 199:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at coassert_cover.c:14.32-42 "root == in":
[junit] $mpi_coassert violation: assertion:(root==in)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X3+-3)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at coassert_cover.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at coassert_cover.c:21.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at coassert_cover.c:21.2-15 "$mpi_coassert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/coassert_cover_0.trace
[junit]
[junit] Violation 1 encountered at depth 199:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at coassert_cover.c:14.32-42 "root == in":
[junit] $mpi_coassert violation: assertion:(root==in)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X3+-3)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at coassert_cover.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at coassert_cover.c:21.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at coassert_cover.c:21.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (199) is greater than or equal to length of old (199): ignoring new trace.
[junit]
[junit] Violation 2 encountered at depth 199:
[junit] CIVL execution violation in process with rank: 0 participating the $mpi_coassert(). (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at coassert_cover.c:14.32-42 "root == in":
[junit] $mpi_coassert violation: assertion:(root==in)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X3+-3)
[junit]
[junit] Call stacks:
[junit] process p1 (id=0):
[junit] recv at coassert_cover.c:14.2-15 "$mpi_coassert"
[junit] process p2 (id=1):
[junit] send at coassert_cover.c:21.2-15 "$mpi_coassert"
[junit] process p3 (id=2):
[junit] send at coassert_cover.c:21.2-15 "$mpi_coassert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (199) is greater than or equal to length of old (199): ignoring new trace.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -errorBound=10 -input_mpi_nprocs=3 -mpiContract examples/contracts/coassert_cover.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.09
[junit] memory (bytes) : 1072693248
[junit] max process count : 4
[junit] states : 792
[junit] states saved : 376
[junit] state matches : 4
[junit] transitions : 784
[junit] trace steps : 361
[junit] valid calls : 3034
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/coassert_cover_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The CIVL model is:===================
[junit] Model result
[junit] | function _CIVL_system
[junit] | | formal parameters
[junit] | | scope 0 (parent: null)
[junit] | | | _heap : __heap__
[junit] | | | _atomic_lock_var : $proc
[junit] | | | _X_count_var : int
[junit] | | | scope 3 (parent: 0)
[junit] | | | | _heap : __heap__
[junit] | | | | x : int
[junit] | | locations (start=0)
[junit] | | | location 0 (scope: 3)
[junit] | | | | when (true) x = gimmeOne() @ result.c:9.2-20 "int x = gimmeOne()" ; goto location 1
[junit] | | | location 1 (scope: 3)
[junit] | | | | when (guard[asserts.assert()]) assert((x==1)) @ result.c:11.2-16 "assert(x == 1)" ; goto location 2
[junit] | | | location 2 (scope: 0)
[junit] | | | | when (true) return (_CIVL_system) @ result.c:12.0-1 "}" ;
[junit] | function assert
[junit] | | formal parameters
[junit] | | | expr
[junit] | | scope 1 (parent: 0)
[junit] | | | _heap : __heap__
[junit] | | | expr : $bool
[junit] | function gimmeOne
[junit] ENSURES: ($result==1)
[junit] | | formal parameters
[junit] | | scope 2 (parent: 0)
[junit] | | | _heap : __heap__
[junit] | | | $result : int
[junit] | | locations (start=3)
[junit] | | | location 3 (scope: 2)
[junit] | | | | when (true) return 1 (gimmeOne) @ result.c:5.2-11 "return 1;" ;
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -min -mpiContract -input_mpi_nprocs=4 examples/contracts/isRecvBufEmpty_OK.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.31
[junit] memory (bytes) : 1068498944
[junit] max process count : 5
[junit] states : 1473
[junit] states saved : 643
[junit] state matches : 17
[junit] transitions : 1484
[junit] trace steps : 623
[junit] valid calls : 7887
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] ------------- Standard Error -----------------
[junit] Preprocessor error: I/O error occurred while scanning examples/contracts/isEmptyRecvBuf_BAD.c:
[junit] java.io.FileNotFoundException: examples/contracts/isEmptyRecvBuf_BAD.c (No such file or directory)
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.CudaTest
[junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.123 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -inputN=8 -inputNBLOCKS=4 examples/cuda/sum.cu
[junit]
[junit] === Stats ===
[junit] time (s) : 2.89
[junit] memory (bytes) : 1015021568
[junit] max process count : 15
[junit] states : 14480
[junit] states saved : 7549
[junit] state matches : 1482
[junit] transitions : 15916
[junit] trace steps : 8898
[junit] valid calls : 254628
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -inputN=2 -inputTILE_WIDTH=1 examples/cuda/matMult1.cu
[junit]
[junit] === Stats ===
[junit] time (s) : 2.23
[junit] memory (bytes) : 997720064
[junit] max process count : 11
[junit] states : 5550
[junit] states saved : 2778
[junit] state matches : 330
[junit] transitions : 5829
[junit] trace steps : 3075
[junit] valid calls : 64474
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 10
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.GenTransformerTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.413 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //======================== civlc.cvh =======================
[junit] typedef struct $proc $proc;
[junit] typedef struct $scope $scope;
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] typedef struct $bundle $bundle;
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //===================== concurrency.cvh ====================
[junit] typedef struct $gbarrier* $gbarrier;
[junit] typedef struct $barrier* $barrier;
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] typedef struct $collect_record $collect_record;
[junit] typedef struct $gcollect_checker* $gcollect_checker;
[junit] typedef struct $collect_checker* $collect_checker;
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] //========================== mpi.h =========================
[junit] typedef enum $anon_enum_0{
[junit] MPI_CHAR,
[junit] MPI_CHARACTER,
[junit] MPI_SIGNED_CHAR,
[junit] MPI_UNSIGNED_CHAR,
[junit] MPI_BYTE,
[junit] MPI_WCHAR,
[junit] MPI_SHORT,
[junit] MPI_UNSIGNED_SHORT,
[junit] MPI_INT,
[junit] MPI_INT16_T,
[junit] MPI_INT32_T,
[junit] MPI_INT64_T,
[junit] MPI_INT8_T,
[junit] MPI_INTEGER,
[junit] MPI_INTEGER1,
[junit] MPI_INTEGER16,
[junit] MPI_INTEGER2,
[junit] MPI_INTEGER4,
[junit] MPI_INTEGER8,
[junit] MPI_UNSIGNED,
[junit] MPI_LONG,
[junit] MPI_UNSIGNED_LONG,
[junit] MPI_FLOAT,
[junit] MPI_DOUBLE,
[junit] MPI_LONG_DOUBLE,
[junit] MPI_LONG_LONG_INT,
[junit] MPI_UNSIGNED_LONG_LONG,
[junit] MPI_LONG_LONG,
[junit] MPI_PACKED,
[junit] MPI_LB,
[junit] MPI_UB,
[junit] MPI_UINT16_T,
[junit] MPI_UINT32_T,
[junit] MPI_UINT64_T,
[junit] MPI_UINT8_T,
[junit] MPI_FLOAT_INT,
[junit] MPI_DOUBLE_INT,
[junit] MPI_LONG_INT,
[junit] MPI_SHORT_INT,
[junit] MPI_2INT,
[junit] MPI_LONG_DOUBLE_INT,
[junit] MPI_AINT,
[junit] MPI_OFFSET,
[junit] MPI_2DOUBLE_PRECISION,
[junit] MPI_2INTEGER,
[junit] MPI_2REAL,
[junit] MPI_C_BOOL,
[junit] MPI_C_COMPLEX,
[junit] MPI_C_DOUBLE_COMPLEX,
[junit] MPI_C_FLOAT_COMPLEX,
[junit] MPI_C_LONG_DOUBLE_COMPLEX,
[junit] MPI_COMPLEX,
[junit] MPI_COMPLEX16,
[junit] MPI_COMPLEX32,
[junit] MPI_COMPLEX4,
[junit] MPI_COMPLEX8,
[junit] MPI_REAL,
[junit] MPI_REAL16,
[junit] MPI_REAL2,
[junit] MPI_REAL4,
[junit] MPI_REAL8
[junit] } MPI_Datatype;
[junit] typedef struct MPI_Comm MPI_Comm;
[junit] typedef struct MPI_Status{
[junit] int MPI_SOURCE;
[junit] int MPI_TAG;
[junit] int MPI_ERROR;
[junit] int size;
[junit] } MPI_Status;
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] //======================== comm.cvh ========================
[junit] typedef struct $message{
[junit] int source;
[junit] int dest;
[junit] int tag;
[junit] $bundle data;
[junit] int size;
[junit] } $message;
[junit] typedef struct $queue $queue;
[junit] typedef struct $gcomm* $gcomm;
[junit] typedef struct $comm* $comm;
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] //====================== civl-mpi.cvh ======================
[junit] typedef enum _mpi_sys_status_{
[junit] __UNINIT,
[junit] __INIT,
[junit] __FINALIZED
[junit] } $mpi_sys_status;
[junit] typedef struct MPI_Comm MPI_Comm;
[junit] typedef struct $mpi_gcomm $mpi_gcomm;
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] //========================= mpi.cvl ========================
[junit] struct MPI_Comm{
[junit] $comm p2p;
[junit] $comm col;
[junit] $collect_checker collect_checker;
[junit] $barrier barrier;
[junit] int gcommIndex;
[junit] }
[junit] int MPI_Comm_rank(MPI_Comm comm, int* rank)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n");
[junit] *rank = $comm_place(comm.p2p);
[junit] return 0;
[junit] }
[junit] int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Send() cannot be invoked without MPI_Init() being called before.\n");
[junit] $mpi_assertConsistentType(buf, datatype);
[junit] int $sef$0 = $mpi_send(buf, count, datatype, dest, tag, comm.p2p, comm.gcommIndex);
[junit] return $sef$0;
[junit] }
[junit] int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status* status)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n");
[junit] $mpi_assertConsistentType(buf, datatype);
[junit] int $sef$1 = $mpi_recv(buf, count, datatype, source, tag, comm.p2p, status, comm.gcommIndex);
[junit] return $sef$1;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //===================== concurrency.cvh ====================
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] //========================= seq.cvh ========================
[junit] void $seq_init(void* array, int count, void* value);
[junit] //===================== concurrency.cvl ====================
[junit] struct $gbarrier{
[junit] int nprocs;
[junit] $proc proc_map[];
[junit] _Bool in_barrier[];
[junit] int num_in_barrier;
[junit] }
[junit] struct $barrier{
[junit] int place;
[junit] $gbarrier gbarrier;
[junit] }
[junit] struct $collect_record{
[junit] $bundle entries;
[junit] _Bool marks[];
[junit] int numMarked;
[junit] }
[junit] struct $gcollect_checker{
[junit] int length;
[junit] $collect_record records[];
[junit] }
[junit] struct $collect_checker{
[junit] $gcollect_checker checker;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //===================== concurrency.cvh ====================
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] //======================== comm.cvh ========================
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] //========================== mpi.h =========================
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] //====================== civl-mpi.cvh ======================
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] //========================= seq.cvh ========================
[junit] void $seq_init(void* array, int count, void* value);
[junit] //====================== civl-mpi.cvl ======================
[junit] struct $mpi_gcomm{
[junit] $gcomm p2p;
[junit] $gcomm col;
[junit] $gcollect_checker collect_checker;
[junit] $gbarrier gbarrier;
[junit] }
[junit] int sizeofDatatype(MPI_Datatype datatype)
[junit] {
[junit] switch(datatype)
[junit] {
[junit] case MPI_INT:
[junit] return sizeof(int);
[junit] case MPI_2INT:
[junit] return sizeof(int) * 2;
[junit] case MPI_FLOAT:
[junit] return sizeof(float);
[junit] case MPI_DOUBLE:
[junit] return sizeof(double);
[junit] case MPI_CHAR:
[junit] return sizeof(char);
[junit] case MPI_BYTE:
[junit] return sizeof(char);
[junit] case MPI_SHORT:
[junit] return sizeof(short);
[junit] case MPI_LONG:
[junit] return sizeof(long);
[junit] case MPI_LONG_DOUBLE:
[junit] return sizeof(long double);
[junit] case MPI_LONG_LONG_INT:
[junit] return sizeof(long long);
[junit] case MPI_LONG_LONG:
[junit] return sizeof(long long);
[junit] case MPI_UNSIGNED_LONG_LONG:
[junit] return sizeof(unsigned long long);
[junit] default:
[junit] $assert(0, "Unreachable");
[junit] }
[junit] }
[junit] $mpi_gcomm $mpi_gcomm_create($scope scope, int size)
[junit] {
[junit] $mpi_gcomm result;
[junit] result.p2p = $gcomm_create(scope, size);
[junit] result.col = $gcomm_create(scope, size);
[junit] result.collect_checker = $gcollect_checker_create(scope);
[junit] result.gbarrier = $gbarrier_create(scope, size);
[junit] return result;
[junit] }
[junit] void $mpi_gcomm_destroy($mpi_gcomm gc)
[junit] {
[junit] $gcomm_destroy(gc.p2p);
[junit] $gcomm_destroy(gc.col);
[junit] $gcollect_checker_destroy(gc.collect_checker);
[junit] $gbarrier_destroy(gc.gbarrier);
[junit] }
[junit] MPI_Comm $mpi_comm_create($scope scope, $mpi_gcomm gc, int rank)
[junit] {
[junit] MPI_Comm result;
[junit] result.p2p = $comm_create(scope, gc.p2p, rank);
[junit] result.col = $comm_create(scope, gc.col, rank);
[junit] result.collect_checker = $collect_checker_create(scope, gc.collect_checker);
[junit] result.barrier = $barrier_create(scope, gc.gbarrier, rank);
[junit] result.gcommIndex = 0;
[junit] return result;
[junit] }
[junit] void $mpi_comm_destroy(MPI_Comm comm)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] if(comm.gcommIndex == 0)
[junit] $assert(curr_status == __FINALIZED, "Process terminates without calling MPI_Finalize() first.");
[junit] $comm_destroy(comm.p2p);
[junit] $comm_destroy(comm.col);
[junit] $collect_checker_destroy(comm.collect_checker);
[junit] $barrier_destroy(comm.barrier);
[junit] }
[junit] int $mpi_init(void)
[junit] {
[junit] $mpi_set_status(__INIT);
[junit] return 0;
[junit] }
[junit] int $mpi_finalize(void)
[junit] {
[junit] $mpi_set_status(__FINALIZED);
[junit] return 0;
[junit] }
[junit] int $mpi_send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, $comm comm, int MPICommId)
[junit] {
[junit] if(dest >= 0)
[junit] {
[junit] int $sef$2 = sizeofDatatype(datatype);
[junit] int size = count * $sef$2;
[junit] int place = $comm_place(comm);
[junit] $message out = $message_pack(place, dest, tag, buf, size);
[junit] $comm_enqueue(comm, out);
[junit] }
[junit] return 0;
[junit] }
[junit] int $mpi_recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, $comm comm, MPI_Status* status, int MPICommId)
[junit] {
[junit] if((source >= 0) || (source == (-1)))
[junit] {
[junit] $message in;
[junit] $elaborate(source);
[junit] in = $comm_dequeue(comm, source, tag);
[junit] int $sef$3 = sizeofDatatype(datatype);
[junit] int size = count * $sef$3;
[junit] $message_unpack(in, buf, size);
[junit] if(status != (void*)0)
[junit] {
[junit] (status)->size = $message_size(in);
[junit] (status)->MPI_SOURCE = $message_source(in);
[junit] (status)->MPI_TAG = $message_tag(in);
[junit] (status)->MPI_ERROR = 0;
[junit] }
[junit] }
[junit] return 0;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //======================== comm.cvh ========================
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] //======================== comm.cvl ========================
[junit] struct $queue{
[junit] int length;
[junit] $message messages[];
[junit] }
[junit] struct $gcomm{
[junit] int nprocs;
[junit] $proc procs[];
[junit] _Bool isInit[];
[junit] $queue buf[][];
[junit] }
[junit] struct $comm{
[junit] int place;
[junit] $gcomm gcomm;
[junit] }
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size)
[junit] {
[junit] $message result;
[junit] result.source = source;
[junit] result.dest = dest;
[junit] result.tag = tag;
[junit] result.data = $bundle_pack(data, size);
[junit] result.size = size;
[junit] return result;
[junit] }
[junit] int $message_source($message message)
[junit] {
[junit] return message.source;
[junit] }
[junit] int $message_tag($message message)
[junit] {
[junit] return message.tag;
[junit] }
[junit] int $message_size($message message)
[junit] {
[junit] return message.size;
[junit] }
[junit] void $message_unpack($message message, void* buf, int size)
[junit] {
[junit] $bundle_unpack(message.data, buf);
[junit] $assert(message.size <= size, "Message of size %d exceeds the specified size %d.", message.size, size);
[junit] }
[junit] int $comm_place($comm comm)
[junit] {
[junit] return (comm)->place;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //========================= seq.cvh ========================
[junit] void $seq_init(void* array, int count, void* value);
[junit] //========================== mpi.h =========================
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] //======================== assert.h ========================
[junit] void assert(_Bool expr);
[junit] //======================= simpleMPI.c ======================
[junit] $input int _gen_argc;
[junit] $input char _gen_argv[10][];
[junit] //===================== MPITransformer =====================
[junit] $input int _mpi_nprocs;
[junit] $input int _mpi_nprocs_lo = 1;
[junit] $input int _mpi_nprocs_hi;
[junit] $assume((_mpi_nprocs_lo <= _mpi_nprocs) && (_mpi_nprocs <= _mpi_nprocs_hi));
[junit] $mpi_gcomm _mpi_gcomm = $mpi_gcomm_create($here, _mpi_nprocs);
[junit] $mpi_gcomm _mpi_gcomms[];
[junit] $seq_init(&(_mpi_gcomms), 1, &(_mpi_gcomm));
[junit] void _mpi_process(int _mpi_rank)
[junit] {
[junit] $mpi_sys_status _mpi_status = __UNINIT;
[junit] $assert(_mpi_status == __UNINIT);
[junit] MPI_Comm MPI_COMM_WORLD = $mpi_comm_create($here, _mpi_gcomm, _mpi_rank);
[junit] void $assume(_Bool expression);
[junit] $assume((0 < _gen_argc) && (_gen_argc < 10));
[junit] int myrank;
[junit] int _gen_main(int argc, char* argv[])
[junit] {
[junit] double buf = 0.0;
[junit] $mpi_init();
[junit] MPI_Comm_rank(MPI_COMM_WORLD, &(myrank));
[junit] if(myrank == 0)
[junit] {
[junit] buf = 1.0;
[junit] MPI_Send(&(buf), 1, MPI_DOUBLE, 1, 0, MPI_COMM_WORLD);
[junit] }
[junit] else
[junit] {
[junit] MPI_Recv(&(buf), 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD, (void*)0);
[junit] }
[junit] assert(buf == 1.0);
[junit] $mpi_finalize();
[junit] }
[junit] {
[junit] char* _gen_argv_tmp[10];
[junit] {
[junit] int i = 0;
[junit] for(; i < 10; i = i + 1)
[junit] _gen_argv_tmp[i] = &(_gen_argv[i][0]);
[junit] }
[junit] _gen_main(_gen_argc, &(_gen_argv_tmp[0]));
[junit] }
[junit] $mpi_comm_destroy(MPI_COMM_WORLD);
[junit] }
[junit] int main()
[junit] {
[junit] $parfor(int i: 0 .. _mpi_nprocs - 1)
[junit] _mpi_process(i);
[junit] $mpi_gcomm_destroy(_mpi_gcomm);
[junit] }
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 -showProgram -enablePrintf=false examples/gen/simpleMPI.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.94
[junit] memory (bytes) : 997720064
[junit] max process count : 3
[junit] states : 219
[junit] states saved : 96
[junit] state matches : 0
[junit] transitions : 216
[junit] trace steps : 93
[junit] valid calls : 876
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //======================== civlc.cvh =======================
[junit] typedef struct $proc $proc;
[junit] typedef struct $scope $scope;
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] typedef struct $bundle $bundle;
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //===================== concurrency.cvh ====================
[junit] typedef struct $gbarrier* $gbarrier;
[junit] typedef struct $barrier* $barrier;
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] typedef struct $collect_record $collect_record;
[junit] typedef struct $gcollect_checker* $gcollect_checker;
[junit] typedef struct $collect_checker* $collect_checker;
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] //========================== mpi.h =========================
[junit] typedef enum $anon_enum_0{
[junit] MPI_CHAR,
[junit] MPI_CHARACTER,
[junit] MPI_SIGNED_CHAR,
[junit] MPI_UNSIGNED_CHAR,
[junit] MPI_BYTE,
[junit] MPI_WCHAR,
[junit] MPI_SHORT,
[junit] MPI_UNSIGNED_SHORT,
[junit] MPI_INT,
[junit] MPI_INT16_T,
[junit] MPI_INT32_T,
[junit] MPI_INT64_T,
[junit] MPI_INT8_T,
[junit] MPI_INTEGER,
[junit] MPI_INTEGER1,
[junit] MPI_INTEGER16,
[junit] MPI_INTEGER2,
[junit] MPI_INTEGER4,
[junit] MPI_INTEGER8,
[junit] MPI_UNSIGNED,
[junit] MPI_LONG,
[junit] MPI_UNSIGNED_LONG,
[junit] MPI_FLOAT,
[junit] MPI_DOUBLE,
[junit] MPI_LONG_DOUBLE,
[junit] MPI_LONG_LONG_INT,
[junit] MPI_UNSIGNED_LONG_LONG,
[junit] MPI_LONG_LONG,
[junit] MPI_PACKED,
[junit] MPI_LB,
[junit] MPI_UB,
[junit] MPI_UINT16_T,
[junit] MPI_UINT32_T,
[junit] MPI_UINT64_T,
[junit] MPI_UINT8_T,
[junit] MPI_FLOAT_INT,
[junit] MPI_DOUBLE_INT,
[junit] MPI_LONG_INT,
[junit] MPI_SHORT_INT,
[junit] MPI_2INT,
[junit] MPI_LONG_DOUBLE_INT,
[junit] MPI_AINT,
[junit] MPI_OFFSET,
[junit] MPI_2DOUBLE_PRECISION,
[junit] MPI_2INTEGER,
[junit] MPI_2REAL,
[junit] MPI_C_BOOL,
[junit] MPI_C_COMPLEX,
[junit] MPI_C_DOUBLE_COMPLEX,
[junit] MPI_C_FLOAT_COMPLEX,
[junit] MPI_C_LONG_DOUBLE_COMPLEX,
[junit] MPI_COMPLEX,
[junit] MPI_COMPLEX16,
[junit] MPI_COMPLEX32,
[junit] MPI_COMPLEX4,
[junit] MPI_COMPLEX8,
[junit] MPI_REAL,
[junit] MPI_REAL16,
[junit] MPI_REAL2,
[junit] MPI_REAL4,
[junit] MPI_REAL8
[junit] } MPI_Datatype;
[junit] typedef struct MPI_Comm MPI_Comm;
[junit] typedef struct MPI_Status{
[junit] int MPI_SOURCE;
[junit] int MPI_TAG;
[junit] int MPI_ERROR;
[junit] int size;
[junit] } MPI_Status;
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] //======================== comm.cvh ========================
[junit] typedef struct $message{
[junit] int source;
[junit] int dest;
[junit] int tag;
[junit] $bundle data;
[junit] int size;
[junit] } $message;
[junit] typedef struct $queue $queue;
[junit] typedef struct $gcomm* $gcomm;
[junit] typedef struct $comm* $comm;
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] //====================== civl-mpi.cvh ======================
[junit] typedef enum _mpi_sys_status_{
[junit] __UNINIT,
[junit] __INIT,
[junit] __FINALIZED
[junit] } $mpi_sys_status;
[junit] typedef struct MPI_Comm MPI_Comm;
[junit] typedef struct $mpi_gcomm $mpi_gcomm;
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] //========================= mpi.cvl ========================
[junit] struct MPI_Comm{
[junit] $comm p2p;
[junit] $comm col;
[junit] $collect_checker collect_checker;
[junit] $barrier barrier;
[junit] int gcommIndex;
[junit] }
[junit] int MPI_Comm_rank(MPI_Comm comm, int* rank)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.\n");
[junit] *rank = $comm_place(comm.p2p);
[junit] return 0;
[junit] }
[junit] int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Send() cannot be invoked without MPI_Init() being called before.\n");
[junit] $mpi_assertConsistentType(buf, datatype);
[junit] int $sef$0 = $mpi_send(buf, count, datatype, dest, tag, comm.p2p, comm.gcommIndex);
[junit] return $sef$0;
[junit] }
[junit] int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status* status)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] $assert(curr_status == __INIT, "MPI_Recv() cannot be invoked without MPI_Init() being called before.\n");
[junit] $mpi_assertConsistentType(buf, datatype);
[junit] int $sef$1 = $mpi_recv(buf, count, datatype, source, tag, comm.p2p, status, comm.gcommIndex);
[junit] return $sef$1;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //===================== concurrency.cvh ====================
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] //========================= seq.cvh ========================
[junit] void $seq_init(void* array, int count, void* value);
[junit] //===================== concurrency.cvl ====================
[junit] struct $gbarrier{
[junit] int nprocs;
[junit] $proc proc_map[];
[junit] _Bool in_barrier[];
[junit] int num_in_barrier;
[junit] }
[junit] struct $barrier{
[junit] int place;
[junit] $gbarrier gbarrier;
[junit] }
[junit] struct $collect_record{
[junit] $bundle entries;
[junit] _Bool marks[];
[junit] int numMarked;
[junit] }
[junit] struct $gcollect_checker{
[junit] int length;
[junit] $collect_record records[];
[junit] }
[junit] struct $collect_checker{
[junit] $gcollect_checker checker;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //===================== concurrency.cvh ====================
[junit] $gbarrier $gbarrier_create($scope scope, int size);
[junit] void $gbarrier_destroy($gbarrier barrier);
[junit] $barrier $barrier_create($scope scope, $gbarrier gbarrier, int place);
[junit] void $barrier_destroy($barrier barrier);
[junit] $gcollect_checker $gcollect_checker_create($scope scope);
[junit] void $gcollect_checker_destroy($gcollect_checker checker);
[junit] $collect_checker $collect_checker_create($scope scope, $gcollect_checker gchecker);
[junit] void $collect_checker_destroy($collect_checker checker);
[junit] //======================== comm.cvh ========================
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] //========================== mpi.h =========================
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] //====================== civl-mpi.cvh ======================
[junit] int sizeofDatatype(MPI_Datatype);
[junit] void $mpi_set_status($mpi_sys_status newStatus);
[junit] $mpi_sys_status $mpi_get_status(void);
[junit] $mpi_gcomm $mpi_gcomm_create($scope, int);
[junit] void $mpi_gcomm_destroy($mpi_gcomm);
[junit] MPI_Comm $mpi_comm_create($scope, $mpi_gcomm, int);
[junit] void $mpi_comm_destroy(MPI_Comm);
[junit] int $mpi_init(void);
[junit] int $mpi_finalize(void);
[junit] int $mpi_send(void*, int, MPI_Datatype, int, int, $comm, int);
[junit] int $mpi_recv(void*, int, MPI_Datatype, int, int, $comm, MPI_Status*, int);
[junit] void $mpi_assertConsistentType(void* buf, MPI_Datatype datatype);
[junit] //========================= seq.cvh ========================
[junit] void $seq_init(void* array, int count, void* value);
[junit] //====================== civl-mpi.cvl ======================
[junit] struct $mpi_gcomm{
[junit] $gcomm p2p;
[junit] $gcomm col;
[junit] $gcollect_checker collect_checker;
[junit] $gbarrier gbarrier;
[junit] }
[junit] int sizeofDatatype(MPI_Datatype datatype)
[junit] {
[junit] switch(datatype)
[junit] {
[junit] case MPI_INT:
[junit] return sizeof(int);
[junit] case MPI_2INT:
[junit] return sizeof(int) * 2;
[junit] case MPI_FLOAT:
[junit] return sizeof(float);
[junit] case MPI_DOUBLE:
[junit] return sizeof(double);
[junit] case MPI_CHAR:
[junit] return sizeof(char);
[junit] case MPI_BYTE:
[junit] return sizeof(char);
[junit] case MPI_SHORT:
[junit] return sizeof(short);
[junit] case MPI_LONG:
[junit] return sizeof(long);
[junit] case MPI_LONG_DOUBLE:
[junit] return sizeof(long double);
[junit] case MPI_LONG_LONG_INT:
[junit] return sizeof(long long);
[junit] case MPI_LONG_LONG:
[junit] return sizeof(long long);
[junit] case MPI_UNSIGNED_LONG_LONG:
[junit] return sizeof(unsigned long long);
[junit] default:
[junit] $assert(0, "Unreachable");
[junit] }
[junit] }
[junit] $mpi_gcomm $mpi_gcomm_create($scope scope, int size)
[junit] {
[junit] $mpi_gcomm result;
[junit] result.p2p = $gcomm_create(scope, size);
[junit] result.col = $gcomm_create(scope, size);
[junit] result.collect_checker = $gcollect_checker_create(scope);
[junit] result.gbarrier = $gbarrier_create(scope, size);
[junit] return result;
[junit] }
[junit] void $mpi_gcomm_destroy($mpi_gcomm gc)
[junit] {
[junit] $gcomm_destroy(gc.p2p);
[junit] $gcomm_destroy(gc.col);
[junit] $gcollect_checker_destroy(gc.collect_checker);
[junit] $gbarrier_destroy(gc.gbarrier);
[junit] }
[junit] MPI_Comm $mpi_comm_create($scope scope, $mpi_gcomm gc, int rank)
[junit] {
[junit] MPI_Comm result;
[junit] result.p2p = $comm_create(scope, gc.p2p, rank);
[junit] result.col = $comm_create(scope, gc.col, rank);
[junit] result.collect_checker = $collect_checker_create(scope, gc.collect_checker);
[junit] result.barrier = $barrier_create(scope, gc.gbarrier, rank);
[junit] result.gcommIndex = 0;
[junit] return result;
[junit] }
[junit] void $mpi_comm_destroy(MPI_Comm comm)
[junit] {
[junit] $mpi_sys_status curr_status;
[junit] curr_status = $mpi_get_status();
[junit] if(comm.gcommIndex == 0)
[junit] $assert(curr_status == __FINALIZED, "Process terminates without calling MPI_Finalize() first.");
[junit] $comm_destroy(comm.p2p);
[junit] $comm_destroy(comm.col);
[junit] $collect_checker_destroy(comm.collect_checker);
[junit] $barrier_destroy(comm.barrier);
[junit] }
[junit] int $mpi_init(void)
[junit] {
[junit] $mpi_set_status(__INIT);
[junit] return 0;
[junit] }
[junit] int $mpi_finalize(void)
[junit] {
[junit] $mpi_set_status(__FINALIZED);
[junit] return 0;
[junit] }
[junit] int $mpi_send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, $comm comm, int MPICommId)
[junit] {
[junit] if(dest >= 0)
[junit] {
[junit] int $sef$2 = sizeofDatatype(datatype);
[junit] int size = count * $sef$2;
[junit] int place = $comm_place(comm);
[junit] $message out = $message_pack(place, dest, tag, buf, size);
[junit] $comm_enqueue(comm, out);
[junit] }
[junit] return 0;
[junit] }
[junit] int $mpi_recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, $comm comm, MPI_Status* status, int MPICommId)
[junit] {
[junit] if((source >= 0) || (source == (-1)))
[junit] {
[junit] $message in;
[junit] $elaborate(source);
[junit] in = $comm_dequeue(comm, source, tag);
[junit] int $sef$3 = sizeofDatatype(datatype);
[junit] int size = count * $sef$3;
[junit] $message_unpack(in, buf, size);
[junit] if(status != (void*)0)
[junit] {
[junit] (status)->size = $message_size(in);
[junit] (status)->MPI_SOURCE = $message_source(in);
[junit] (status)->MPI_TAG = $message_tag(in);
[junit] (status)->MPI_ERROR = 0;
[junit] }
[junit] }
[junit] return 0;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //======================== comm.cvh ========================
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size);
[junit] int $message_source($message message);
[junit] int $message_tag($message message);
[junit] int $message_size($message message);
[junit] void $message_unpack($message message, void* buf, int size);
[junit] $gcomm $gcomm_create($scope scope, int size);
[junit] void $gcomm_destroy($gcomm gcomm);
[junit] $comm $comm_create($scope scope, $gcomm gcomm, int place);
[junit] void $comm_destroy($comm comm);
[junit] int $comm_place($comm comm);
[junit] void $comm_enqueue($comm comm, $message message);
[junit] $message $comm_dequeue($comm comm, int source, int tag);
[junit] //======================== comm.cvl ========================
[junit] struct $queue{
[junit] int length;
[junit] $message messages[];
[junit] }
[junit] struct $gcomm{
[junit] int nprocs;
[junit] $proc procs[];
[junit] _Bool isInit[];
[junit] $queue buf[][];
[junit] }
[junit] struct $comm{
[junit] int place;
[junit] $gcomm gcomm;
[junit] }
[junit] $message $message_pack(int source, int dest, int tag, void* data, int size)
[junit] {
[junit] $message result;
[junit] result.source = source;
[junit] result.dest = dest;
[junit] result.tag = tag;
[junit] result.data = $bundle_pack(data, size);
[junit] result.size = size;
[junit] return result;
[junit] }
[junit] int $message_source($message message)
[junit] {
[junit] return message.source;
[junit] }
[junit] int $message_tag($message message)
[junit] {
[junit] return message.tag;
[junit] }
[junit] int $message_size($message message)
[junit] {
[junit] return message.size;
[junit] }
[junit] void $message_unpack($message message, void* buf, int size)
[junit] {
[junit] $bundle_unpack(message.data, buf);
[junit] $assert(message.size <= size, "Message of size %d exceeds the specified size %d.", message.size, size);
[junit] }
[junit] int $comm_place($comm comm)
[junit] {
[junit] return (comm)->place;
[junit] }
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] void $assert(_Bool expr, ...);
[junit] void $assume(_Bool expr);
[junit] void $elaborate(int x);
[junit] //======================= bundle.cvh =======================
[junit] $bundle $bundle_pack(void* ptr, int size);
[junit] void $bundle_unpack($bundle bundle, void* ptr);
[junit] //========================= seq.cvh ========================
[junit] void $seq_init(void* array, int count, void* value);
[junit] //========================== mpi.h =========================
[junit] int MPI_Send(void*, int, MPI_Datatype, int, int, MPI_Comm);
[junit] int MPI_Recv(void*, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status*);
[junit] int MPI_Comm_rank(MPI_Comm, int*);
[junit] //======================== assert.h ========================
[junit] void assert(_Bool expr);
[junit] //===================== MPITransformer =====================
[junit] $input int _mpi_nprocs;
[junit] $input int _mpi_nprocs_lo = 1;
[junit] $input int _mpi_nprocs_hi;
[junit] $assume((_mpi_nprocs_lo <= _mpi_nprocs) && (_mpi_nprocs <= _mpi_nprocs_hi));
[junit] $mpi_gcomm _mpi_gcomm = $mpi_gcomm_create($here, _mpi_nprocs);
[junit] $mpi_gcomm _mpi_gcomms[];
[junit] $seq_init(&(_mpi_gcomms), 1, &(_mpi_gcomm));
[junit] void _mpi_process(int _mpi_rank)
[junit] {
[junit] $mpi_sys_status _mpi_status = __UNINIT;
[junit] $assert(_mpi_status == __UNINIT);
[junit] MPI_Comm MPI_COMM_WORLD = $mpi_comm_create($here, _mpi_gcomm, _mpi_rank);
[junit] int myrank;
[junit] int _gen_main()
[junit] {
[junit] double buf = 0.0;
[junit] $mpi_init();
[junit] MPI_Comm_rank(MPI_COMM_WORLD, &(myrank));
[junit] if(myrank == 0)
[junit] {
[junit] buf = 1.0;
[junit] MPI_Send(&(buf), 1, MPI_DOUBLE, 1, 0, MPI_COMM_WORLD);
[junit] }
[junit] else
[junit] {
[junit] MPI_Recv(&(buf), 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD, (void*)0);
[junit] }
[junit] assert(buf == 1.0);
[junit] $mpi_finalize();
[junit] }
[junit] {
[junit] _gen_main();
[junit] }
[junit] $mpi_comm_destroy(MPI_COMM_WORLD);
[junit] }
[junit] int main()
[junit] {
[junit] $parfor(int i: 0 .. _mpi_nprocs - 1)
[junit] _mpi_process(i);
[junit] $mpi_gcomm_destroy(_mpi_gcomm);
[junit] }
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -showProgram -input_mpi_nprocs=2 -enablePrintf=false examples/gen/simpleMPI2.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.6
[junit] memory (bytes) : 1035468800
[junit] max process count : 3
[junit] states : 149
[junit] states saved : 74
[junit] state matches : 0
[junit] transitions : 146
[junit] trace steps : 71
[junit] valid calls : 653
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //========================== gen.c =========================
[junit] $input int _gen_argc;
[junit] $input char _gen_argv[10][];
[junit] void $assume(_Bool expression);
[junit] $assume((0 < _gen_argc) && (_gen_argc < 10));
[junit] int sum(int k)
[junit] {
[junit] return ((1 + k) * k) / 2;
[junit] }
[junit] int _gen_main(int argc, char* argv[])
[junit] {
[junit] int a = 9;
[junit] a = sum(a);
[junit] return 0;
[junit] }
[junit] int main()
[junit] {
[junit] char* _gen_argv_tmp[10];
[junit] {
[junit] int i = 0;
[junit] for(; i < 10; i = i + 1)
[junit] _gen_argv_tmp[i] = &(_gen_argv[i][0]);
[junit] }
[junit] _gen_main(_gen_argc, &(_gen_argv_tmp[0]));
[junit] }
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -showProgram -enablePrintf=false examples/gen/gen.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.45
[junit] memory (bytes) : 1035468800
[junit] max process count : 1
[junit] states : 43
[junit] states saved : 15
[junit] state matches : 0
[junit] transitions : 42
[junit] trace steps : 14
[junit] valid calls : 25
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //========================== gen.c =========================
[junit] $input int _gen_argc;
[junit] $input char _gen_argv[10][];
[junit] void $assume(_Bool expression);
[junit] $assume((0 < _gen_argc) && (_gen_argc < 10));
[junit] int sum(int k)
[junit] {
[junit] return ((1 + k) * k) / 2;
[junit] }
[junit] int _gen_main(int argc, char* argv[])
[junit] {
[junit] int a = 9;
[junit] a = sum(a);
[junit] return 0;
[junit] }
[junit] int main()
[junit] {
[junit] char* _gen_argv_tmp[10];
[junit] {
[junit] int i = 0;
[junit] for(; i < 10; i = i + 1)
[junit] _gen_argv_tmp[i] = &(_gen_argv[i][0]);
[junit] }
[junit] _gen_main(_gen_argc, &(_gen_argv_tmp[0]));
[junit] }
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -showProgram -input_gen_argc=5 examples/gen/gen.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.43
[junit] memory (bytes) : 1035468800
[junit] max process count : 1
[junit] states : 43
[junit] states saved : 15
[junit] state matches : 0
[junit] transitions : 42
[junit] trace steps : 14
[junit] valid calls : 23
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.IOTransformerTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.503 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 8:
[junit] CIVL execution violation in p0 (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at fileOpen.cvl:28.24-36 "filename[-1]":
[junit] Out of bounds array index:
[junit] index = -1
[junit] length = 10
[junit]
[junit] Context:
[junit] (0<=fileLength("yfile")+-1) && (0<=fileLength("CIVL_stdin")+-1) && (0<=-1*X0+9) && (0<=X1+-11)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at fileOpen.cvl:28.16-21 "fopen"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/fileOpen_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DNEGINDEX examples/io/fileOpen.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1035468800
[junit] max process count : 1
[junit] states : 21
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 21
[junit] trace steps : 7
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/fileOpen_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: pointer into string of unknown length
[junit] at fileOpen.cvl:32.22-37 "&icaFilename[2]".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 8:
[junit] CIVL execution violation in p0 (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at fileOpen.cvl:24.23-34 "filename[x]":
[junit] Out of bounds array index:
[junit] index = X0
[junit] length = 10
[junit]
[junit] Context:
[junit] (0<=fileLength("yfile")+-1) && (0<=fileLength("CIVL_stdin")+-1) && (0<=-1*X0+9) && (0<=X1+-11)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at fileOpen.cvl:24.16-21 "fopen"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/fileOpen_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DNCINDEX examples/io/fileOpen.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 1035468800
[junit] max process count : 1
[junit] states : 21
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 21
[junit] trace steps : 7
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/fileOpen_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: pointer into string of non-concrete length
[junit] at fileOpen.cvl:26.22-37 "&ncaFilename[2]".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: pointer to char is not into an array of char
[junit] at fileOpen.cvl:30.22-24 "&c".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/io/io.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 3
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/io/fscanf.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 56
[junit] states saved : 30
[junit] state matches : 0
[junit] transitions : 55
[junit] trace steps : 28
[junit] valid calls : 40
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/io/defaultLength.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 21
[junit] states saved : 16
[junit] state matches : 0
[junit] transitions : 20
[junit] trace steps : 14
[junit] valid calls : 22
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.LanguageFeaturesTest
[junit] Tests run: 112, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 8.944 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUTPUT_READ, certainty: PROVEABLE)
[junit] at outputBad.cvl:17.11-12 "p":
[junit] Attempt to read output variable k
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at outputBad.cvl:16.2-9 "$choose"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/outputBad_0.trace
[junit]
[junit] Violation 1 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUTPUT_READ, certainty: PROVEABLE)
[junit] at outputBad.cvl:18.7-8 "x":
[junit] attempt to read the output variable x
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at outputBad.cvl:16.2-9 "$choose"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/outputBad_1.trace
[junit]
[junit] Violation 2 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at outputBad.cvl:19.7-9 "ka":
[junit] attempt to read uninitialized variable ka
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at outputBad.cvl:16.2-9 "$choose"
[junit]
[junit] Logging new entry 2, writing trace to CIVLREP/outputBad_2.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=5 examples/languageFeatures/outputBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 4
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/outputBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/staticVar.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 4
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0 (id = 0) (kind: OTHER, certainty: PROVEABLE)
[junit] at functionBad.cvl:18.2-13 "int a = f()":
[junit] attempt to use the return value of function f when f has returned without a return value.
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at functionBad.cvl:18.10-11 "f"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/functionBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/functionBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 2
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/functionBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 4:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at mallocBad.cvl:11.11-12 "p":
[junit] Attempt to dereference a pointer that refers to an object with undefined value
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mallocBad.cvl:11.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/mallocBad_0.trace
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/arrayPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 4
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/atomicStatement.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 23
[junit] states saved : 6
[junit] state matches : 1
[junit] transitions : 23
[junit] trace steps : 6
[junit] valid calls : 11
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/stringTest.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 22
[junit] states saved : 23
[junit] state matches : 0
[junit] transitions : 21
[junit] trace steps : 18
[junit] valid calls : 46
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 5:
[junit] CIVL execution violation in p0(id=0) (kind: LIBRARY, certainty: PROVEABLE)
[junit] at civlValueUndefined.cvl:32.5-17 "a = dummy(a)":
[junit] unable to load the library evaluator for the library civlValueUndefined for the function dummy
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlValueUndefined.cvl:28.2-9 "$choose"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/civlValueUndefined_0.trace
[junit]
[junit] Violation 1 encountered at depth 5:
[junit] CIVL execution violation in p0(id=0) (kind: LIBRARY, certainty: PROVEABLE)
[junit] at civlValueUndefined.cvl:32.5-17 "a = dummy(a)":
[junit] unable to load the library enabler for the library civlValueUndefined for the function dummy
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlValueUndefined.cvl:28.2-9 "$choose"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (5) is greater than or equal to length of old (5): ignoring new trace.
[junit]
[junit] Violation 2 encountered at depth 5:
[junit] CIVL execution violation in p0(id=0) (kind: LIBRARY, certainty: PROVEABLE)
[junit] at civlValueUndefined.cvl:32.5-17 "a = dummy(a)":
[junit] unable to load the library evaluator for the library civlValueUndefined for the function dummy
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlValueUndefined.cvl:28.2-9 "$choose"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (5) is greater than or equal to length of old (5): ignoring new trace.
[junit]
[junit] Violation 3 encountered at depth 5:
[junit] CIVL execution violation in p0(id=0) (kind: LIBRARY, certainty: PROVEABLE)
[junit] at civlValueUndefined.cvl:32.5-17 "a = dummy(a)":
[junit] unable to load the library enabler for the library civlValueUndefined for the function dummy
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlValueUndefined.cvl:28.2-9 "$choose"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (5) is greater than or equal to length of old (5): ignoring new trace.
[junit]
[junit] Violation 4 encountered at depth 6:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at civlValueUndefined.cvl:29.9-14 "scope":
[junit] Attempt to evaluate an invalid scope reference
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlValueUndefined.cvl:28.2-9 "$choose"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/civlValueUndefined_1.trace
[junit]
[junit] Violation 5 encountered at depth 6:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at civlValueUndefined.cvl:30.9-14 "proc0":
[junit] Attempt to evaluate an invalid process reference
[junit]
[junit] Context:
[junit] 0<=SIZEOF_REAL+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlValueUndefined.cvl:28.2-9 "$choose"
[junit]
[junit] Logging new entry 2, writing trace to CIVLREP/civlValueUndefined_2.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=10 examples/languageFeatures/civlValueUndefined.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1034944512
[junit] max process count : 2
[junit] states : 16
[junit] states saved : 10
[junit] state matches : 1
[junit] transitions : 18
[junit] trace steps : 11
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/civlValueUndefined_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/emptyWhen.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 1
[junit] trace steps : 1
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/assertNonNullPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 2
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/arrays.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 12
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 11
[junit] trace steps : 8
[junit] valid calls : 15
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/assume.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 5
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 3
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 5:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at int2charBad.cvl:15.2-27 "$assert((pc[0] == ... )":
[junit]
[junit] Input variables:
[junit] num1=X0
[junit] num2=X1
[junit] Assertion: $assert((*((pc+0))==*((pc+1))))
[junit] -> *(&<d0>heap.malloc0[0][0]+0)==*(&<d0>heap.malloc0[0][0]+1)
[junit] -> int2char(X0)==int2char(X1)
[junit]
[junit] Context:
[junit] (0<=SIZEOF_CHAR+-1) && (0<=-1*X0+254) && (0<=X0+-1) && (0<=-1*X1+254) && (0<=X1+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at int2charBad.cvl:15.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/int2charBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/int2charBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 4
[junit] valid calls : 27
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 8
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/int2charBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/choose.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1034944512
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 2
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: MALLOC, certainty: PROVEABLE)
[junit] at notValidResultType.cvl:6.2-59 "double *p = (double ... )":
[junit] For a $malloc returning $real*, the size argument must be a multiple of sizeof($real)
[junit] actual size argument: (int)(51/10*(real)SIZEOF_REAL)
[junit] expected size argument: a multile of SIZEOF_REAL
[junit]
[junit] Context:
[junit] 0<SIZEOF_REAL
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at notValidResultType.cvl:6.2-59 "double *p = (double ... )"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/notValidResultType_0.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=2 examples/languageFeatures/notValidResultType.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1034944512
[junit] max process count : 0
[junit] states : 1
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 1
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/notValidResultType_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/languageFeatures/arrayLiteral.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 14
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 13
[junit] trace steps : 7
[junit] valid calls : 9
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 11:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at procBound.cvl:4.2-17 "$assert($false)":
[junit]
[junit] Assertion: $assert(false)
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at procBound.cvl:8.15-21 "$spawn"
[junit] process p1 (id=1):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p2 (id=2):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p3 (id=3):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p4 (id=4):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p5 (id=5):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p6 (id=6):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p7 (id=7):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p8 (id=8):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit] process p9 (id=9):
[junit] f at procBound.cvl:4.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/procBound_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -procBound=10 -showTransitions=false -showSavedStates=false examples/languageFeatures/procBound.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 10
[junit] states : 20
[junit] states saved : 11
[junit] state matches : 0
[junit] transitions : 20
[junit] trace steps : 10
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/procBound_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/malloc.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 7
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 5
[junit] valid calls : 11
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at assertNullPointer.cvl:10.2-14 "$assert((p))":
[junit]
[junit] Assertion: $assert((p!=(($real)*) 0))
[junit] -> NULL!=(($real)*)0
[junit] -> NULL!=NULL
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at assertNullPointer.cvl:10.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/assertNullPointer_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/assertNullPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 2
[junit] trace steps : 1
[junit] valid calls : 5
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/assertNullPointer_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 9:
[junit] CIVL execution violation in p2 (id = 1) (kind: DEREFERENCE, certainty: PROVEABLE)
[junit] at removedHeapPointer.cvl:23.2-5 "*gp":
[junit] attempt to write to a memory location through a pointer that can't be dereferenced
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at removedHeapPointer.cvl:31.2-7 "$wait"
[junit] process p2 (id=1):
[junit] goo at removedHeapPointer.cvl:23.2-5 "*gp"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/removedHeapPointer_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/removedHeapPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1030750208
[junit] max process count : 3
[junit] states : 13
[junit] states saved : 10
[junit] state matches : 0
[junit] transitions : 13
[junit] trace steps : 8
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/removedHeapPointer_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] I'm not null.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/procNull.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 3
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 5:
[junit] CIVL execution violation in p0 (id = 0) (kind: POINTER, certainty: PROVEABLE)
[junit] at pointerSubtractionBad2.cvl:13.9-20 "x[1] - x[ ... ]":
[junit] Operands of pointer subtraction point to different heap obejcts
[junit]
[junit] Context:
[junit] (0<=SIZEOF(($real)*)+-1) && (0<=SIZEOF_REAL+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerSubtractionBad2.cvl:13.2-6 "diff"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerSubtractionBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerSubtractionBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 13
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 13
[junit] trace steps : 4
[junit] valid calls : 23
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerSubtractionBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/int2float.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 2
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/sizeof.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 1
[junit] valid calls : 6
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/struct.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 10
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 9
[junit] trace steps : 2
[junit] valid calls : 6
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/conditionalExpression.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 98
[junit] states saved : 26
[junit] state matches : 0
[junit] transitions : 97
[junit] trace steps : 25
[junit] valid calls : 14
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 63:
[junit] CIVL execution violation in p0(id=0) (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at bundleTestBad.cvl:20.2-36 "$bundle_unpack(bun, &a4d[1 ... )":
[junit] Pointer addition results in an index out of bound error on A allocated sequence of memory space: (int[2][2][2][2])X_s1v3p0
[junit] Original pointer: &<d1>a4d[1][0][1][0]
[junit] Pointer addtion offset: 8
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at bundleTestBad.cvl:20.2-16 "$bundle_unpack"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/bundleTestBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bundleTestBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 367
[junit] states saved : 64
[junit] state matches : 0
[junit] transitions : 367
[junit] trace steps : 62
[junit] valid calls : 244
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/bundleTestBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/nonbooleanCondition.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 15
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 14
[junit] trace steps : 5
[junit] valid calls : 9
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] hello!2 is smaller than 10!
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at assertPrintf.cvl:13.2-48 "$assert(b > a, ... )":
[junit]
[junit] Assertion: $assert((a<b), &((_anon_1)[0]), b, a)
[junit] -> 10<2
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at assertPrintf.cvl:13.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/assertPrintf_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/assertPrintf.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 2
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/assertPrintf_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] x=colorOf(X_s1v1p0[2])
[junit] x=colorOf(X_s1v1p0[1])
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/abstractFun.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 13
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 12
[junit] trace steps : 4
[junit] valid calls : 5
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/for.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 99
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 98
[junit] trace steps : 1
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/quantifiers.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 26
[junit] states saved : 7
[junit] state matches : 0
[junit] transitions : 25
[junit] trace steps : 6
[junit] valid calls : 22
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 13
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0 (id = 0) (kind: DEREFERENCE, certainty: PROVEABLE)
[junit] at pointerAddBad.cvl:7.10-11 "p":
[junit] Illegal pointer dereference: Array index out of bounds in method arrayRead.
[junit] array: X0[9][9]
[junit] extent: 10
[junit] index: 10
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerAddBad.cvl:7.2-6 "test"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAddBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAddBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 3
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 2
[junit] valid calls : 14
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAddBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] i=0
[junit] i=1
[junit] i=2
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/sideEffectLoop.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 30
[junit] states saved : 14
[junit] state matches : 0
[junit] transitions : 29
[junit] trace steps : 13
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 112:
[junit] CIVL execution violation in p0 (id = 0) (kind: DEREFERENCE, certainty: PROVEABLE)
[junit] at pointerAddBad2.cvl:16.9-24 "(&p[0][0] ... )":
[junit] Illegal pointer dereference: Array index out of bounds in method arrayRead.
[junit] array: (int[10])<0,0,0,0,0,0,0,0,0,0>
[junit] extent: 10
[junit] index: 10
[junit]
[junit] Context:
[junit] (0<=SIZEOF((int)*)+-1) && (0<=SIZEOF_INT+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerAddBad2.cvl:16.2-5 "ret"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAddBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAddBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 1030750208
[junit] max process count : 1
[junit] states : 354
[junit] states saved : 123
[junit] state matches : 0
[junit] transitions : 354
[junit] trace steps : 111
[junit] valid calls : 806
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAddBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 14:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at pointerAddBad3.c:5.11-12 "a":
[junit] Pointer addition results in an index out of bound error on A allocated sequence of memory space: (int[3])X_s2v1p0
[junit] Original pointer: &<d4>a[0]
[junit] Pointer addtion offset: 100
[junit]
[junit] Context:
[junit] (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _gen_main at pointerAddBad3.c:5.2-18 "int *p = a ... 100" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before pointerAddBad3.c:3.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAddBad3_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAddBad3.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.51
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 39
[junit] states saved : 14
[junit] state matches : 0
[junit] transitions : 39
[junit] trace steps : 13
[junit] valid calls : 31
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAddBad3_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 15:
[junit] CIVL execution violation in p0 (id = 0) (kind: DEREFERENCE, certainty: PROVEABLE)
[junit] at pointerAddBad4.c:8.7-16 "((int*)p)":
[junit] Illegal pointer dereference: Cannot dereference an offset reference with non-zero offset:
[junit] OffsetRef(Ref<1>,1)
[junit] (int[2][][])<(int[2][])<(int[2])<0,1>,(int[2])<2,3>>,(int[2][])<(int[2])<4,5>,(int[2])<6,7>>>
[junit]
[junit] Context:
[junit] (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _gen_main at pointerAddBad4.c:8.2-3 "t" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before pointerAddBad4.c:3.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAddBad4_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAddBad4.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.45
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 40
[junit] states saved : 15
[junit] state matches : 0
[junit] transitions : 40
[junit] trace steps : 14
[junit] valid calls : 27
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAddBad4_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: Pointer addition for anything other than array elements or variables
[junit] at pointerAddBad5.c:6.15-27 "&point.x + 1".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 15:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at pointerAddBad6.c:8.13-23 "p + offset":
[junit] Pointer addition resulted in out of bounds.
[junit] object pointer:pointer<scope<2>,1,OffsetRef(Ref<1>,1)>
[junit] offset = X2
[junit]
[junit] Context:
[junit] (0<=-1*X0+9) && (0<=X0+-1) && (0<=-1*X2+1) && (0<=X2)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _gen_main at pointerAddBad6.c:8.2-23 "void * q = p ... offset" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before pointerAddBad6.c:5.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAddBad6_0.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=2 examples/languageFeatures/pointerAddBad6.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.47
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 45
[junit] states saved : 17
[junit] state matches : 0
[junit] transitions : 44
[junit] trace steps : 15
[junit] valid calls : 32
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 8
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAddBad6_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 13:
[junit] CIVL execution violation in p0 (id = 0) (kind: POINTER, certainty: PROVEABLE)
[junit] at pointerAddBad7.c:4.13-14 "a":
[junit] Pointer addition on an element reference on an incomplete array
[junit] State -1:726096
[junit] | Path condition
[junit] | | (0<=-1*X0+9) && (0<=X0+-1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | _gen_argc = X0
[junit] | | | | _gen_argv = (CHAR[10][])X1
[junit] | | | | a = (int[])X2
[junit] | | dyscope d1 (id=1, parent=d0, static=3)
[junit] | | | variables
[junit] | | | | _gen_argv_tmp = (pointer[10]){&<d0>_gen_argv[0][0], &<d0>_gen_argv[1][0], &<d0>_gen_argv[2][0], &<d0>_gen_argv[3][0], &<d0>_gen_argv[4][0], &<d0>_gen_argv[5][0], &<d0>_gen_argv[6][0], &<d0>_gen_argv[7][0], &<d0>_gen_argv[8][0], &<d0>_gen_argv[9][0]}
[junit] | | dyscope d4 (id=2, parent=d3, static=5)
[junit] | | | variables
[junit] | | | | p = NULL
[junit] | | dyscope d3 (id=3, parent=d0, static=2)
[junit] | | | variables
[junit] | | | | argc = X0
[junit] | | | | argv = &<d1>_gen_argv_tmp[0]
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_gen_main, location=11, pointerAddBad7.c:4.2-19 "void *p = (a ... )", dyscope=d4]
[junit] | | | | Frame[function=_CIVL_system, location=9, GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before pointerAddBad7.c:3.13-17 "argc", dyscope=d1]
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAddBad7_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAddBad7.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.47
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 39
[junit] states saved : 13
[junit] state matches : 0
[junit] transitions : 39
[junit] trace steps : 12
[junit] valid calls : 26
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAddBad7_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bundleArray.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 10
[junit] states saved : 7
[junit] state matches : 0
[junit] transitions : 9
[junit] trace steps : 5
[junit] valid calls : 27
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/sideEffects.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 17
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 16
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bitwise.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 1
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/not.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 1
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/cast.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 11
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/self.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 2
[junit] states : 9
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 5
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] b is true
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/intToBool.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 3
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at include3.cvl:4.2-15 "$assert(n>=0)" included from include2.cvl:1.9-23 ""include3.cvl"" included from include1.cvl:2.9-23 ""include2.cvl"":
[junit]
[junit] Input variables:
[junit] n=X0
[junit] Assertion: $assert((0<=n))
[junit] -> 0<=X0
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] f2 at include3.cvl:4.2-9 "$assert" included from include2.cvl:1.9-23 ""include3.cvl"" included from include1.cvl:2.9-23 ""include2.cvl"" called from
[junit] _CIVL_system at include1.cvl:7.2-4 "f2"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/include1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -userIncludePath=examples/languageFeatures examples/languageFeatures/include1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 3
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/include1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputn=5 examples/languageFeatures/comma.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 32
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 31
[junit] trace steps : 8
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/duffs.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 76
[junit] states saved : 53
[junit] state matches : 0
[junit] transitions : 75
[junit] trace steps : 52
[junit] valid calls : 121
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/enum1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 7
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 6
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/enum2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 17
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 16
[junit] trace steps : 1
[junit] valid calls : 7
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0 (id = 0) (kind: POINTER, certainty: PROVEABLE)
[junit] at pointerSubtractionBad.cvl:11.9-14 "p - b":
[junit] Operands of pointer subtraction point to the same obejct
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerSubtractionBad.cvl:11.2-6 "diff"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerSubtractionBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerSubtractionBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 2
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerSubtractionBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/union.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputN=3 examples/languageFeatures/atomicWait.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 915406848
[junit] max process count : 4
[junit] states : 75
[junit] states saved : 18
[junit] state matches : 5
[junit] transitions : 79
[junit] trace steps : 22
[junit] valid calls : 61
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/languageFeatures/civlParfor.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.12
[junit] memory (bytes) : 915406848
[junit] max process count : 9
[junit] states : 1306
[junit] states saved : 275
[junit] state matches : 769
[junit] transitions : 2073
[junit] trace steps : 1043
[junit] valid calls : 11000
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputNB=5 examples/languageFeatures/civlPragma.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 915406848
[junit] max process count : 1
[junit] states : 42
[junit] states saved : 14
[junit] state matches : 0
[junit] transitions : 41
[junit] trace steps : 7
[junit] valid calls : 61
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 14
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: PROCESS_LEAK, certainty: PROVEABLE)
[junit] at processLeak.cvl:20.0-1 "}":
[junit] attempt to terminate the main process while process 1(process<1>) is still running
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at processLeak.cvl:20.0-1 "}"
[junit] process p1 (id=1):
[junit] process at processLeak.cvl:13.2-7 "$when"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/processLeak_0.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=2 examples/languageFeatures/processLeak.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1040187392
[junit] max process count : 2
[junit] states : 8
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 4
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/processLeak_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/functionPrototypeBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 2
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at mallocBad2.cvl:10.2-3 "p":
[junit] attempt to read uninitialized variable p
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at mallocBad2.cvl:10.2-6 "p[4]"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/mallocBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/mallocBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 0
[junit] states : 1
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 1
[junit] trace steps : 0
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/mallocBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at undefPointer.cvl:11.6-12 "n.next":
[junit] Attempt to use undefined pointer
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at undefPointer.cvl:11.2-4 "if"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/undefPointer_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/undefPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1040187392
[junit] max process count : 0
[junit] states : 1
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 1
[junit] trace steps : 0
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/undefPointer_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointers.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 46
[junit] states saved : 34
[junit] state matches : 0
[junit] transitions : 45
[junit] trace steps : 30
[junit] valid calls : 27
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: INPUT_WRITE, certainty: PROVEABLE)
[junit] at inputBad.cvl:15.2-5 "*ka":
[junit] Attempt to write to input variable k
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at inputBad.cvl:15.2-5 "*ka"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/inputBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/inputBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 5
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 1
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/inputBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/dynamicStruct.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 4
[junit] states : 65
[junit] states saved : 26
[junit] state matches : 0
[junit] transitions : 64
[junit] trace steps : 25
[junit] valid calls : 18
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: Converting integer whose value is larger than UCHAR_MAX or is less than UCHAR_MIN to char type
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/int2char.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 17
[junit] states saved : 14
[junit] state matches : 0
[junit] transitions : 16
[junit] trace steps : 12
[junit] valid calls : 34
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: OTHER, certainty: PROVEABLE)
[junit] at atomChooseBad.cvl:13.4-11 "$choose":
[junit] nondeterminism is encountered in $atom block.
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at atomChooseBad.cvl:13.4-11 "$choose"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/atomChooseBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/atomChooseBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 0
[junit] states : 3
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 0
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/atomChooseBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bundleStruct.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 10
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 9
[junit] trace steps : 7
[junit] valid calls : 6
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/atomicBlockedResume.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 3
[junit] states : 54
[junit] states saved : 17
[junit] state matches : 2
[junit] transitions : 55
[junit] trace steps : 18
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/assignIntWtReal.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 1
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -checkDivisionByZero=false examples/languageFeatures/divisionByZero.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 1
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAdd1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 2
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at pointerAdd1.cvl:12.9-13 "&x+2":
[junit] Pointer addition resulted in out of bounds.
[junit] object pointer:pointer<scope<1>,1,Ref<1>>
[junit] offset = 2
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerAdd1.cvl:12.2-13 "int *p=&x+2"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAdd1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DWRONG examples/languageFeatures/pointerAdd1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 2
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAdd1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -DARRAY examples/languageFeatures/pointerAdd1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 2
[junit] valid calls : 5
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at pointerAdd1.cvl:5.9-10 "a":
[junit] Pointer addition results in an index out of bound error on A allocated sequence of memory space: (int[10])X_s1v1p0
[junit] Original pointer: &<d1>a[0]
[junit] Pointer addtion offset: 11
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerAdd1.cvl:5.2-13 "int *p=a+11"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerAdd1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DARRAY -DWRONG examples/languageFeatures/pointerAdd1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 2
[junit] trace steps : 1
[junit] valid calls : 7
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerAdd1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAdd2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 1.61
[junit] memory (bytes) : 1040187392
[junit] max process count : 1
[junit] states : 1089
[junit] states saved : 378
[junit] state matches : 0
[junit] transitions : 1088
[junit] trace steps : 227
[junit] valid calls : 2203
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 359
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAdd6.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.48
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 43
[junit] states saved : 16
[junit] state matches : 0
[junit] transitions : 42
[junit] trace steps : 15
[junit] valid calls : 27
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 7:
[junit] CIVL execution violation in p0 (id = 0) (kind: OUTPUT_READ, certainty: PROVEABLE)
[junit] at pointersBad.cvl:43.10-16 "(&out)":
[junit] Attempt to read output variable out
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointersBad.cvl:36.2-9 "$choose"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointersBad_0.trace
[junit]
[junit] Violation 1 encountered at depth 7:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at pointersBad.cvl:44.10-15 "x_ptr":
[junit] attempt to deference a pointer that is never initialized
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointersBad.cvl:36.2-9 "$choose"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/pointersBad_1.trace
[junit]
[junit] Violation 2 encountered at depth 8:
[junit] CIVL execution violation in p0 (id = 0) (kind: DEREFERENCE, certainty: PROVEABLE)
[junit] at pointersBad.cvl:45.22-23 "c":
[junit] Illegal pointer dereference: Cannot dereference an offset reference with non-zero offset:
[junit] OffsetRef(Ref<1>,1)
[junit] 0
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointersBad.cvl:45.17-18 "a"
[junit]
[junit] Logging new entry 2, writing trace to CIVLREP/pointersBad_2.trace
[junit]
[junit] Violation 3 encountered at depth 7:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at pointersBad.cvl:46.10-11 "c":
[junit] attempt to deference an invalid pointer
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointersBad.cvl:36.2-9 "$choose"
[junit]
[junit] Logging new entry 3, writing trace to CIVLREP/pointersBad_3.trace
[junit]
[junit] Violation 4 encountered at depth 7:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at pointersBad.cvl:47.10-11 "b":
[junit] Attempt to dereference a pointer that refers to an object with undefined value
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointersBad.cvl:36.2-9 "$choose"
[junit]
[junit] Logging new entry 4, writing trace to CIVLREP/pointersBad_4.trace
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: sub-references of incomplete arrays
[junit] at pointersBad.cvl:38.28-33 "&arr0".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: sub-references of arrays with non-concrete extent
[junit] at pointersBad.cvl:40.28-33 "&arr1".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Error: This feature is not yet implemented: sub-references of union type
[junit] at pointersBad.cvl:42.31-39 "&number0".
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/languageFeatures/civlfor.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 235
[junit] states saved : 93
[junit] state matches : 0
[junit] transitions : 233
[junit] trace steps : 92
[junit] valid calls : 57
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0(id=0) (kind: LIBRARY, certainty: PROVEABLE)
[junit] at libraryException.cvl:5.2-7 "foo()":
[junit] unable to load the library executor for the library foo to execute the function foo
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at libraryException.cvl:5.2-5 "foo"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/libraryException_0.trace
[junit]
[junit] Violation 1 encountered at depth 1:
[junit] CIVL execution violation in p0(id=0) (kind: LIBRARY, certainty: PROVEABLE)
[junit] at libraryException.cvl:6.2-9 "a=foo()":
[junit] unable to load the library executor for the library foo to execute the function foo
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at libraryException.cvl:6.4-7 "foo"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/libraryException_1.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=3 -userIncludePath=examples/library/foo examples/languageFeatures/libraryException.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/libraryException_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/structStruct.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 4
[junit] valid calls : 8
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/break.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 105
[junit] states saved : 39
[junit] state matches : 0
[junit] transitions : 104
[junit] trace steps : 38
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/compare.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 1
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/minimal.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 1
[junit] trace steps : 1
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Function prototype test: f(y) = 2 * y, then f(4) = 8.
[junit] Function prototype test: g() = 10.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/functionPrototype.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 11
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 5
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at undefHeapPointer.cvl:12.6-13 "n->next":
[junit] Attempt to use undefined pointer
[junit]
[junit] Context:
[junit] 0<SIZEOF(struct node_t)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at undefHeapPointer.cvl:12.2-4 "if"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/undefHeapPointer_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/undefHeapPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 2
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/undefHeapPointer_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at atomWaitBad.cvl:18.2-7 "$atom":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at atomWaitBad.cvl:18.2-7 "$atom"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/atomWaitBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/atomWaitBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1032323072
[junit] max process count : 0
[junit] states : 1
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 0
[junit] trace steps : 0
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/atomWaitBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/null.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1032323072
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 2
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerAdd.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.59
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 4058
[junit] states saved : 1493
[junit] state matches : 0
[junit] transitions : 4057
[junit] trace steps : 1369
[junit] valid calls : 13894
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/pointerSubtraction.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 37
[junit] states saved : 23
[junit] state matches : 0
[junit] transitions : 36
[junit] trace steps : 18
[junit] valid calls : 64
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/linkedList.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.1
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 138
[junit] states saved : 132
[junit] state matches : 0
[junit] transitions : 137
[junit] trace steps : 118
[junit] valid calls : 232
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 20
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bundleSize.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 2
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bundleTest.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 559
[junit] states saved : 135
[junit] state matches : 0
[junit] transitions : 558
[junit] trace steps : 126
[junit] valid calls : 1012
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/structArray.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 19
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 18
[junit] trace steps : 8
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] The char value is 'b'
[junit] === Command ===
[junit] civl verify examples/languageFeatures/char.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 2
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/2dpointerTest.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1029701632
[junit] max process count : 3
[junit] states : 51
[junit] states saved : 32
[junit] state matches : 0
[junit] transitions : 50
[junit] trace steps : 23
[junit] valid calls : 88
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/languageFeatures/functionPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1029701632
[junit] max process count : 4
[junit] states : 411
[junit] states saved : 227
[junit] state matches : 53
[junit] transitions : 463
[junit] trace steps : 279
[junit] valid calls : 680
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/bundleConcrete.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 18
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 17
[junit] trace steps : 6
[junit] valid calls : 38
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/languageFeatures/scopeOperators.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 1029701632
[junit] max process count : 1
[junit] states : 40
[junit] states saved : 22
[junit] state matches : 0
[junit] transitions : 39
[junit] trace steps : 21
[junit] valid calls : 44
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/atomStatement.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 1017643008
[junit] max process count : 6
[junit] states : 807
[junit] states saved : 129
[junit] state matches : 80
[junit] transitions : 886
[junit] trace steps : 208
[junit] valid calls : 285
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: MEMORY_LEAK, certainty: PROVEABLE)
[junit] at scoping.cvl:11.2-14.3 "{\n p = (int ... }":
[junit] The dyscope d2(id=1) has a non-empty heap upon termination.
[junit] heap
[junit] | objects of malloc 0 at scoping.cvl:12.5-44 "p = (int *) ... )":
[junit] | | 0: (int[1])Hop0s1f0o0
[junit]
[junit] Context:
[junit] 0<SIZEOF_INT
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at scoping.cvl:21.5-6 "q"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scoping_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/scoping.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scoping_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/implies.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 37
[junit] states saved : 14
[junit] state matches : 0
[junit] transitions : 36
[junit] trace steps : 12
[junit] valid calls : 16
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 5:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at initialValues.cvl:25.17-20 "bun":
[junit] attempt to read uninitialized variable bun
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at initialValues.cvl:25.2-16 "$bundle_unpack"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/initialValues_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/initialValues.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 12
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 4
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/initialValues_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: DIVISION_BY_ZERO, certainty: PROVEABLE)
[junit] at divisionByZero.cvl:6.8-12 "10/X":
[junit] division by zero where divisor: X=X0
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at divisionByZero.cvl:6.2-12 "int a=10/X"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/divisionByZero_0.trace
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=2 examples/languageFeatures/divisionByZero.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/divisionByZero_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 20:
[junit] CIVL execution violation in p1 (id = 1) (kind: MEMORY_LEAK, certainty: PROVEABLE)
[junit] at memoryLeak.cvl:10.14-21.1 "{\n int * p ... }":
[junit] The dyscope d3(id=4) has a non-empty heap upon termination.
[junit] heap
[junit] | objects of malloc 1 at memoryLeak.cvl:11.2-47 "int * p = ( ... )":
[junit] | | 0: (int[1]){10}
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=SIZEOF_REAL+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at memoryLeak.cvl:28.2-7 "$wait"
[junit] process p1 (id=1):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/memoryLeak_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/memoryLeak.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1017643008
[junit] max process count : 2
[junit] states : 33
[junit] states saved : 27
[junit] state matches : 0
[junit] transitions : 33
[junit] trace steps : 19
[junit] valid calls : 15
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/memoryLeak_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] x=0
[junit] x=1
[junit] x=2
[junit] x=3
[junit] x=4
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/choose_int.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 22
[junit] states saved : 7
[junit] state matches : 4
[junit] transitions : 25
[junit] trace steps : 10
[junit] valid calls : 10
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at spawnFoo.cvl:4.2-19 "$assert(($false))":
[junit]
[junit] Assertion: $assert(false)
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at spawnFoo.cvl:10.2-7 "$wait"
[junit] process p1 (id=1):
[junit] foo at spawnFoo.cvl:4.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/spawnFoo_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/spawnFoo.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1017643008
[junit] max process count : 2
[junit] states : 2
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 2
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/spawnFoo_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0(id=0) (kind: OTHER, certainty: PROVEABLE)
[junit] at civlParforNotConcrete.cvl:15.2-9 "$parfor":
[junit] The arguments of the domain for $parfor must be concrete.
[junit] State -1:760684
[junit] | Path condition
[junit] | | 0<=X0+-103
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | n = X0
[junit] | | | | _anon_0 = NULL
[junit] | | | | _anon_1 = NULL
[junit] | | dyscope d1 (id=1, parent=d0, static=3)
[junit] | | | variables
[junit] | | | | r1 = (1..X0#1)
[junit] | | | | dom = ($domain(1)){(1..X0#1)}
[junit] | | | | sum = 0
[junit] | | | | _dom_size0 = X0
[junit] | | | | _par_procs0 = NULL
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=6, civlParforNotConcrete.cvl:15.2-9 "$parfor", dyscope=d1]
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/civlParforNotConcrete_0.trace
[junit]
[junit] Violation 1 encountered at depth 2:
[junit] CIVL execution violation in p0(id=0) (kind: OTHER, certainty: PROVEABLE)
[junit] at civlParforNotConcrete.cvl:15.2-19.3 "$parfor(int i: dom) ... }":
[junit] the number of processes for $waitall needs a concrete value
[junit]
[junit] Context:
[junit] 0<=X0+-103
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at civlParforNotConcrete.cvl:19.2-3 "}"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/civlParforNotConcrete_1.trace
[junit] Terminating search after finding 2 violations.
[junit]
[junit] === Command ===
[junit] civl verify -errorBound=2 -enablePrintf=false examples/languageFeatures/civlParforNotConcrete.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.36
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 1
[junit] valid calls : 211
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 104
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/civlParforNotConcrete_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/switch.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 22
[junit] states saved : 20
[junit] state matches : 0
[junit] transitions : 21
[junit] trace steps : 14
[junit] valid calls : 51
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 18
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 1:
[junit] CIVL execution violation in p0 (id = 0) (kind: DIVISION_BY_ZERO, certainty: PROVEABLE)
[junit] at badGuard.cvl:14.10-13 "x/y":
[junit] division by zero where divisor: y=X1
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at badGuard.cvl:13.2-9 "$choose"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/badGuard_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/badGuard.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1017643008
[junit] max process count : 0
[junit] states : 2
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 2
[junit] trace steps : 0
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/badGuard_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0 (id = 0) (kind: DIVISION_BY_ZERO, certainty: PROVEABLE)
[junit] at noopBad.cvl:10.2-8 "a[0]/n":
[junit] division by zero where divisor: n=X0
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at noopBad.cvl:10.2-3 "a"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/noopBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/noopBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 3
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 1
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/noopBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/languageFeatures/continue.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 884
[junit] states saved : 207
[junit] state matches : 0
[junit] transitions : 883
[junit] trace steps : 206
[junit] valid calls : 97
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] ------------- Standard Error -----------------
[junit] java.lang.NullPointerException
[junit] java.lang.NullPointerException
[junit] Syntax error: $abstract functions must have at least one input.
[junit] An abstract function with 0 inputs is a constant.
[junit] It can be declared as an unconstrained input variable instead, e.g.
[junit] $input int N;
[junit] at abstractFunNoArg.cvl:4.0-26 "$abstract int random(void)".
[junit] Syntax error: attempt to modify the input variable N
[junit] at assignInput.cvl:9.2-3 "N".
[junit] ------------- ---------------- ---------------
[junit] Testcase: bigO(edu.udel.cis.vsl.civl.LanguageFeaturesTest):SKIPPED
[junit] Testsuite: edu.udel.cis.vsl.civl.LibraryTest
[junit] Tests run: 47, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 3.242 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/stdlib/exitTest.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 3
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputN=10 -enablePrintf=false -showProgram=false examples/library/time/timeTest.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1017643008
[junit] max process count : 11
[junit] states : 137
[junit] states saved : 63
[junit] state matches : 0
[junit] transitions : 136
[junit] trace steps : 62
[junit] valid calls : 2206
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputn=4 -enablePrintf=false examples/library/civlc/domainDecomposition.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 264
[junit] states saved : 105
[junit] state matches : 0
[junit] transitions : 259
[junit] trace steps : 104
[junit] valid calls : 358
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] a=stringToInt("%d",contents((CHAR[11])<'C','I','V','L','_','s','t','d','i','n',' '>)[0]), b=stringToInt("%d",contents((CHAR[11])<'C','I','V','L','_','s','t','d','i','n',' '>)[1]), c=stringToInt("%d",contents((CHAR[11])<'C','I','V','L','_','s','t','d','i','n',' '>)[2])
[junit]
[junit] === Command ===
[junit] civl verify examples/library/stdio/scanfExit.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.08
[junit] memory (bytes) : 1017643008
[junit] max process count : 1
[junit] states : 40
[junit] states saved : 32
[junit] state matches : 0
[junit] transitions : 39
[junit] trace steps : 29
[junit] valid calls : 51
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/translate_ptr.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 19
[junit] states saved : 17
[junit] state matches : 0
[junit] transitions : 18
[junit] trace steps : 15
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/./funcPointer.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 3
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0 (id = 0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at freeBad1.cvl:8.2-4 "*a":
[junit] Attempt to dereference a pointer that refers to an object with undefined value
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at freeBad1.cvl:8.2-4 "*a"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/freeBad1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/freeBad1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 2
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/freeBad1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at freeBad2.cvl:8.2-10 "$free(a)":
[junit] Attempt to dereference a pointer that refers to an object with undefined value
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at freeBad2.cvl:8.2-7 "$free"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/freeBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/freeBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 4
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 2
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/freeBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputNPROCS=2 -inputN_BOUND=2 -enablePrintf=false examples/library/civlc/communicatorFeatures.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.12
[junit] memory (bytes) : 1027080192
[junit] max process count : 3
[junit] states : 197
[junit] states saved : 111
[junit] state matches : 0
[junit] transitions : 196
[junit] trace steps : 100
[junit] valid calls : 325
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/assume.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 5
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 2
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/exitBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1027080192
[junit] max process count : 4
[junit] states : 28
[junit] states saved : 11
[junit] state matches : 0
[junit] transitions : 27
[junit] trace steps : 10
[junit] valid calls : 23
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/equals.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 11
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 7
[junit] valid calls : 12
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/time/localTime.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 13
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 12
[junit] trace steps : 7
[junit] valid calls : 6
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/string/memcpy.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 97
[junit] states saved : 60
[junit] state matches : 0
[junit] transitions : 96
[junit] trace steps : 54
[junit] valid calls : 154
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] a[0] = ' ' a[1] = ' ' a[2] = ' ' a[3] = X_s1v1p0[3] a[4] = X_s1v1p0[4]
[junit] === Command ===
[junit] civl verify examples/library/string/memset.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.07
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 27
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 26
[junit] trace steps : 7
[junit] valid calls : 32
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/pointer/simpleAssertEquals.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 10
[junit] states saved : 7
[junit] state matches : 0
[junit] transitions : 9
[junit] trace steps : 6
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/pointer/simpleAssertEquals2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 19
[junit] states saved : 15
[junit] state matches : 0
[junit] transitions : 18
[junit] trace steps : 13
[junit] valid calls : 33
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/stdio/printf.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.49
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 73
[junit] states saved : 27
[junit] state matches : 0
[junit] transitions : 72
[junit] trace steps : 26
[junit] valid calls : 51
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] path condition: 0<=X0+-1
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/pathcondition.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1027080192
[junit] max process count : 1
[junit] states : 5
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -D_LINUX examples/library/stdlib/rand_r.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 3
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at random.cvl:7.2-23 "$assert(val1 == val2)":
[junit]
[junit] Assertion: $assert((val1==val2))
[junit] -> rand_work(1)==rand_work(2)
[junit] -> 0==-1*rand_work(1)+rand_work(2)
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at random.cvl:7.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/random_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/stdlib/random.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 2
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/random_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/string/string_test.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 16
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 15
[junit] trace steps : 7
[junit] valid calls : 11
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/./assert_test.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at assume1.cvl:7.2-18 "$assert(x[1]!=0)":
[junit]
[junit] Input variables:
[junit] x=(real[2])X0
[junit] Assertion: $assert(((x)[1]!=0.0))
[junit] -> X0[1]!=0
[junit] -> 0!=X0[1]
[junit]
[junit] Context:
[junit] (0!=X0[1])||(0!=X0[0])
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at assume1.cvl:7.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/assume1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/assume1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 3
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 3
[junit] trace steps : 2
[junit] valid calls : 9
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/assume1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] 3 and 4 are not equal!
[junit]
[junit]
[junit] Violation 0 encountered at depth 4:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at simpleAssertEqualsFail.cvl:9.2-60 "$assert_equals(a, b, "%d and %d are not equal!\n" ... )":
[junit] Context: true
[junit] Assertion voilated: $assert_equals(a, b, &((_anon_0)[0]), *(a), *(b))
[junit] Evaluation:
[junit] a=&<d1>val1
[junit] b=&<d1>val2
[junit] Result:
[junit] <d1>val1=3
[junit] <d1>val2=4
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at simpleAssertEqualsFail.cvl:9.2-16 "$assert_equals"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/simpleAssertEqualsFail_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/pointer/simpleAssertEqualsFail.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 3
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/simpleAssertEqualsFail_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Pointer to an array and pointer to the first element of an array are different.
[junit]
[junit]
[junit] Violation 0 encountered at depth 7:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at simpleAssertEqualsFail2.cvl:17.2-120 "$assert_equals(&array, &array[ ... )":
[junit] Context: 0 <= SIZEOF(dynamicType<113>)+-1
[junit] Assertion voilated: $assert_equals(&(array), &(*((array+0))), &((_anon_0)[0]))
[junit] Evaluation:
[junit] &(array)=&<d1>array
[junit] &(*((array+0)))=&<d0>heap.malloc0[0][0]
[junit] Result:
[junit] <d1>array=&<d0>heap.malloc0[0][0]
[junit] <d0>heap.malloc0[0][0]=(INT_DOUBLE){.head=1, .tail=23/10}
[junit]
[junit] Context:
[junit] 0<=SIZEOF(struct INT_DOUBLE)+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at simpleAssertEqualsFail2.cvl:17.2-16 "$assert_equals"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/simpleAssertEqualsFail2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/pointer/simpleAssertEqualsFail2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 6
[junit] valid calls : 16
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/simpleAssertEqualsFail2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/contains.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 28
[junit] states saved : 13
[junit] state matches : 0
[junit] transitions : 27
[junit] trace steps : 12
[junit] valid calls : 19
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=5 examples/library/civlc/barrier.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.15
[junit] memory (bytes) : 890241024
[junit] max process count : 5
[junit] states : 680
[junit] states saved : 621
[junit] state matches : 117
[junit] transitions : 796
[junit] trace steps : 731
[junit] valid calls : 1728
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 11
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/bundleAndHeap.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 10
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 9
[junit] trace steps : 6
[junit] valid calls : 26
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/civlc/elaborateDomain.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.14
[junit] memory (bytes) : 890241024
[junit] max process count : 5
[junit] states : 295
[junit] states saved : 164
[junit] state matches : 0
[junit] transitions : 274
[junit] trace steps : 163
[junit] valid calls : 1361
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 20
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/seq.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 26
[junit] states saved : 16
[junit] state matches : 0
[junit] transitions : 25
[junit] trace steps : 15
[junit] valid calls : 19
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/copy.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 890241024
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 3
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/exit.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 890241024
[junit] max process count : 5
[junit] states : 175
[junit] states saved : 46
[junit] state matches : 0
[junit] transitions : 174
[junit] trace steps : 45
[junit] valid calls : 127
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] FOO: 1/12
[junit] BAR: SQRT(1/12)
[junit]
[junit] === Command ===
[junit] civl verify examples/library/math/sqrt.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.67
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 83
[junit] states saved : 27
[junit] state matches : 0
[junit] transitions : 82
[junit] trace steps : 25
[junit] valid calls : 57
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] 2
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/elaborate.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 2
[junit] valid calls : 9
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/stdlib/malloc.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 6
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 5
[junit] trace steps : 4
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 5:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at commBad.cvl:21.2-7 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at commBad.cvl:21.2-7 "$wait"
[junit] process p1 (id=1):
[junit] worker at commBad.cvl:14.2-15 "$comm_dequeue"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/commBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/commBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1031274496
[junit] max process count : 2
[junit] states : 7
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 4
[junit] valid calls : 1
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/commBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/chooseInt.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 67
[junit] states saved : 7
[junit] state matches : 4
[junit] transitions : 70
[junit] trace steps : 10
[junit] valid calls : 10
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -showTransitions=false -showPathCondition=false -enablePrintf=false examples/library/civlc/elaborate1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1031274496
[junit] max process count : 3
[junit] states : 20
[junit] states saved : 12
[junit] state matches : 0
[junit] transitions : 17
[junit] trace steps : 11
[junit] valid calls : 89
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at assertBad.cvl:4.2-25 "$assert((a+b) == ... )":
[junit]
[junit] Assertion: $assert(((a+b)==(c+d)))
[junit] -> (1+2)==(3+4)
[junit] -> 3==7
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] check at assertBad.cvl:4.2-9 "$assert" called from
[junit] _CIVL_system at assertBad.cvl:15.2-7 "check"
[junit] process p1 (id=1):
[junit] thread at assertBad.cvl:8.2-7 "$wait"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/assertBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/assertBad.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1031274496
[junit] max process count : 2
[junit] states : 7
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/assertBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/concreteIntTest.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 11
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 1
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] a is 1
[junit] b is 2
[junit]
[junit] === Command ===
[junit] civl verify examples/library/stdio/fprintfExit.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.06
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 39
[junit] states saved : 30
[junit] state matches : 0
[junit] transitions : 38
[junit] trace steps : 28
[junit] valid calls : 47
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false examples/library/civlc/defined.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 4
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Message of size 2*SIZEOF_INT exceeds the specified size SIZEOF_INT.
[junit]
[junit] Violation 0 encountered at depth 15:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at comm.cvl:82.2-104 "$assert(message.size <= size ... )":
[junit]
[junit] Assertion: $assert(((message).4<=size), &((_anon_0)[0]), (message).4, size)
[junit] -> 2*SIZEOF_INT<=SIZEOF_INT
[junit] -> 0<=-1*SIZEOF_INT
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] $message_unpack at comm.cvl:82.2-9 "$assert" called from
[junit] _CIVL_system at messageUnpackBad1.cvl:12.2-17 "$message_unpack"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/messageUnpackBad1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/messageUnpackBad1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 28
[junit] states saved : 20
[junit] state matches : 0
[junit] transitions : 28
[junit] trace steps : 14
[junit] valid calls : 58
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/messageUnpackBad1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 15:
[junit] CIVL execution violation in p0(id=0) (kind: OUT_OF_BOUNDS, certainty: PROVEABLE)
[junit] at comm.cvl:81.2-35 "$bundle_unpack(message.data, buf)":
[junit] Pointer addition results in an index out of bound error on A allocated sequence of memory space: (int[1])Hop0s0f1o0
[junit] Original pointer: &<d0>heap.malloc1[0][0]
[junit] Pointer addtion offset: 2
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] $message_unpack at comm.cvl:81.2-16 "$bundle_unpack" called from
[junit] _CIVL_system at messageUnpackBad2.cvl:13.2-17 "$message_unpack"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/messageUnpackBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/library/civlc/messageUnpackBad2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 27
[junit] states saved : 21
[junit] state matches : 0
[junit] transitions : 27
[junit] trace steps : 14
[junit] valid calls : 54
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/messageUnpackBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputB=5 -enablePrintf=false examples/library/civlc/intIter.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.09
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 131
[junit] states saved : 74
[junit] state matches : 0
[junit] transitions : 130
[junit] trace steps : 67
[junit] valid calls : 95
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 14
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/library/stdlib/mallocForStruct.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1031274496
[junit] max process count : 1
[junit] states : 9
[junit] states saved : 8
[junit] state matches : 0
[junit] transitions : 8
[junit] trace steps : 6
[junit] valid calls : 7
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] ------------- Standard Error -----------------
[junit] Syntax error: The format %l is not allowed.
[junit] at printfBad.cvl:7.9-15 ""x=%l"".
[junit] c is 3
[junit] ------------- ---------------- ---------------
[junit] Testcase: malloc2(edu.udel.cis.vsl.civl.LibraryTest):SKIPPED
[junit] Testsuite: edu.udel.cis.vsl.civl.MPICollectivePart1Test
[junit] Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 48.739 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/collective/scatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.96
[junit] memory (bytes) : 1021313024
[junit] max process count : 3
[junit] states : 367
[junit] states saved : 191
[junit] state matches : 0
[junit] transitions : 364
[junit] trace steps : 180
[junit] valid calls : 1830
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 2 is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 308:
[junit] CIVL execution violation in p3(id=3) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:269.2-271.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] MPI_Scatter at mpi.cvl:269.2-9 "$assert" called from
[junit] _gen_main at scatter.c:37.8-19 "MPI_Scatter" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatter.c:9.13-17 "argc"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scatter_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DROOT -input_mpi_nprocs=6 examples/mpi/collective/scatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.0
[junit] memory (bytes) : 1035468800
[junit] max process count : 7
[junit] states : 599
[junit] states saved : 328
[junit] state matches : 0
[junit] transitions : 597
[junit] trace steps : 307
[junit] valid calls : 3771
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scatter_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 295:
[junit] CIVL execution violation in p3(id=3) (kind: MPI_ERROR, certainty: PROVEABLE)
[junit] at mpi.cvl:263.2-46 "$mpi_assertConsistentType(sendbuf, sendtype)":
[junit] the primitive type int of the object pointed by the input pointer argument of MPI routines is not consistent with the given MPI_Datatype
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] MPI_Scatter at mpi.cvl:263.2-27 "$mpi_assertConsistentType" called from
[junit] _gen_main at scatter.c:32.8-19 "MPI_Scatter" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatter.c:9.13-17 "argc"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scatter_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DTYPE -input_mpi_nprocs=6 examples/mpi/collective/scatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.08
[junit] memory (bytes) : 1032847360
[junit] max process count : 7
[junit] states : 576
[junit] states saved : 314
[junit] state matches : 0
[junit] transitions : 574
[junit] trace steps : 294
[junit] valid calls : 3488
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scatter_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/collective/gather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.92
[junit] memory (bytes) : 1032847360
[junit] max process count : 3
[junit] states : 360
[junit] states saved : 186
[junit] state matches : 0
[junit] transitions : 357
[junit] trace steps : 175
[junit] valid calls : 1369
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 2 is calling an possibly inconsistent MPI_Gather routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 219:
[junit] CIVL execution violation in p3(id=3) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:241.2-243.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Gather routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Gather at mpi.cvl:244.2-13 "$mpi_gather" called from
[junit] _gen_main at gather.c:34.8-18 "MPI_Gather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before gather.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] MPI_Gather at mpi.cvl:241.2-9 "$assert" called from
[junit] _gen_main at gather.c:36.8-18 "MPI_Gather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before gather.c:9.13-17 "argc"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/gather_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DROOT -input_mpi_nprocs=6 examples/mpi/collective/gather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.11
[junit] memory (bytes) : 1035993088
[junit] max process count : 7
[junit] states : 442
[junit] states saved : 232
[junit] state matches : 0
[junit] transitions : 439
[junit] trace steps : 218
[junit] valid calls : 1698
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/gather_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 207:
[junit] CIVL execution violation in p3(id=3) (kind: MPI_ERROR, certainty: PROVEABLE)
[junit] at mpi.cvl:237.4-48 "$mpi_assertConsistentType(sendbuf, sendtype)":
[junit] the primitive type int of the object pointed by the input pointer argument of MPI routines is not consistent with the given MPI_Datatype
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Gather at mpi.cvl:244.2-13 "$mpi_gather" called from
[junit] _gen_main at gather.c:29.8-18 "MPI_Gather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before gather.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] MPI_Gather at mpi.cvl:237.4-29 "$mpi_assertConsistentType" called from
[junit] _gen_main at gather.c:31.8-18 "MPI_Gather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before gather.c:9.13-17 "argc"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/gather_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DTYPE -input_mpi_nprocs=6 examples/mpi/collective/gather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.07
[junit] memory (bytes) : 1023410176
[junit] max process count : 7
[junit] states : 420
[junit] states saved : 219
[junit] state matches : 0
[junit] transitions : 417
[junit] trace steps : 206
[junit] valid calls : 1608
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/gather_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Vector of process 0 is: (0, 1, 2, 3, 4)
[junit] Vector of process 1 is: (0, 1, 2, 3, 4)
[junit] Vector of process 2 is: (0, 1, 2, 3, 4)
[junit] Vector of process 3 is: (0, 1, 2, 3, 4)
[junit] Vector of process 4 is: (0, 1, 2, 3, 4)
[junit] Vector sum is: (0, 5, 10, 15, 20)
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/collective/vectorSum.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.95
[junit] memory (bytes) : 975699968
[junit] max process count : 6
[junit] states : 2547
[junit] states saved : 1498
[junit] state matches : 0
[junit] transitions : 2529
[junit] trace steps : 1405
[junit] valid calls : 14457
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 536:
[junit] CIVL execution violation in p0(id=0) (kind: COMMUNICATION, certainty: PROVEABLE)
[junit] at civl-mpi.cvl:80.2-24 "$gcomm_destroy(gc.col)":
[junit] Communicator memory leak: There is at least one message still remaining in channel[0][2] of the communicator referenced by (gc).1 when the commmunicator is going to be destroyed.
[junit] Claim: false
[junit]
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] $mpi_gcomm_destroy at civl-mpi.cvl:80.2-16 "$gcomm_destroy" called from
[junit] _CIVL_system at MPITransformer:0.-1-10 "_mpi_gcomm\n" inserted by MPITransformer.function call $mpi_gcomm_destroy before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scatter_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/scatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.15
[junit] memory (bytes) : 959447040
[junit] max process count : 7
[junit] states : 1057
[junit] states saved : 567
[junit] state matches : 0
[junit] transitions : 1053
[junit] trace steps : 535
[junit] valid calls : 12736
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scatter_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 415:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>":
[junit] A deadlock is possible:
[junit] Path condition: (0 <= SIZEOF(dynamicType<291>)+-1) && (0 <= SIZEOF_INT+-1) && (0 <= -1*X0+9) && (0 <= X0+-1) && (0 <= X2+-6)
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): terminated
[junit] process p3 (id=3): terminated
[junit] process p4 (id=4): terminated
[junit] process p5 (id=5): terminated
[junit] process p6 (id=6): terminated
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Gather at mpi.cvl:244.2-13 "$mpi_gather" called from
[junit] _gen_main at gather.c:39.8-18 "MPI_Gather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before gather.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] terminated
[junit] process p4 (id=4):
[junit] terminated
[junit] process p5 (id=5):
[junit] terminated
[junit] process p6 (id=6):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/gather_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/gather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.25
[junit] memory (bytes) : 973078528
[junit] max process count : 7
[junit] states : 859
[junit] states saved : 436
[junit] state matches : 0
[junit] transitions : 855
[junit] trace steps : 414
[junit] valid calls : 3230
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/gather_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 5 is calling an possibly inconsistent MPI_Allreduce routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 1529:
[junit] CIVL execution violation in p6(id=6) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:189.2-191.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Allreduce routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=10
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_7)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-10)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_reduce at civl-mpi.cvl:299.15-28 "$comm_dequeue" called from
[junit] MPI_Reduce at mpi.cvl:163.2-13 "$mpi_reduce" called from
[junit] _gen_main at BcastReduce2.c:23.4-14 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p2 (id=2):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:24.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p3 (id=3):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:24.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p4 (id=4):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:24.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p5 (id=5):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:24.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p6 (id=6):
[junit] MPI_Allreduce at mpi.cvl:189.2-9 "$assert" called from
[junit] _gen_main at BcastReduce2.c:24.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p7 (id=7):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:21.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p8 (id=8):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:21.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p9 (id=9):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Allreduce at mpi.cvl:194.2-12 "$mpi_bcast" called from
[junit] _gen_main at BcastReduce2.c:21.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit] process p10 (id=10):
[junit] $mpi_send at civl-mpi.cvl:145.2-8 "return" called from
[junit] $mpi_reduce at civl-mpi.cvl:289.4-13 "$mpi_send" called from
[junit] MPI_Allreduce at mpi.cvl:192.2-13 "$mpi_reduce" called from
[junit] _gen_main at BcastReduce2.c:21.2-15 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce2.c:11.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/BcastReduce2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=10 examples/mpi/collective/BcastReduce2.c
[junit]
[junit] === Stats ===
[junit] time (s) : 4.44
[junit] memory (bytes) : 1072693248
[junit] max process count : 11
[junit] states : 2918
[junit] states saved : 1610
[junit] state matches : 0
[junit] transitions : 2896
[junit] trace steps : 1528
[junit] valid calls : 22991
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/BcastReduce2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Vector process 0 is: (0, Hop1s2f4o0[1], Hop1s2f4o0[2], Hop1s2f4o0[3], Hop1s2f4o0[4])
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Allgather routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 385:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:356.2-358.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Allgather routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_7)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-5)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Allgather at mpi.cvl:359.2-13 "$mpi_gather" called from
[junit] _gen_main at vectorSum_bad.c:56.6-19 "MPI_Allgather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before vectorSum_bad.c:11.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Allgather at mpi.cvl:356.2-9 "$assert" called from
[junit] _gen_main at vectorSum_bad.c:41.6-19 "MPI_Allgather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before vectorSum_bad.c:11.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/vectorSum_bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/collective/vectorSum_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.19
[junit] memory (bytes) : 1072693248
[junit] max process count : 6
[junit] states : 703
[junit] states saved : 415
[junit] state matches : 0
[junit] transitions : 700
[junit] trace steps : 384
[junit] valid calls : 2968
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/vectorSum_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 401:
[junit] CIVL execution violation in p0(id=0) (kind: COMMUNICATION, certainty: PROVEABLE)
[junit] at civl-mpi.cvl:80.2-24 "$gcomm_destroy(gc.col)":
[junit] Communicator memory leak: There is at least one message still remaining in channel[0][5] of the communicator referenced by (gc).1 when the commmunicator is going to be destroyed.
[junit] Claim: false
[junit]
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] $mpi_gcomm_destroy at civl-mpi.cvl:80.2-16 "$gcomm_destroy" called from
[junit] _CIVL_system at MPITransformer:0.-1-10 "_mpi_gcomm\n" inserted by MPITransformer.function call $mpi_gcomm_destroy before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/bcast_bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/bcast_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.0
[junit] memory (bytes) : 1072693248
[junit] max process count : 7
[junit] states : 851
[junit] states saved : 415
[junit] state matches : 0
[junit] transitions : 847
[junit] trace steps : 400
[junit] valid calls : 8855
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/bcast_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] process 0: buf1=0, buf2=0
[junit] process 2: buf1=0, buf2=2
[junit] process 1: buf1=0, buf2=2
[junit] process 1: buf1=0, buf2=0
[junit]
[junit] Violation 0 encountered at depth 270:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at bcast_good.c:48.4-32 "assert(buf1==0 && buf2 ... )":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=3
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: assert(((buf1==0)&&(buf2==2)))
[junit] -> (0==0)&&(0==2)
[junit] -> true&&false
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-3)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from stdio.cvl:10.10-21 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] _gen_main at bcast_good.c:48.4-10 "assert" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before bcast_good.c:9.13-17 "argc"
[junit] process p3 (id=3):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/bcast_good_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DFASSERT -input_mpi_nprocs=3 examples/mpi/collective/bcast_good.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.13
[junit] memory (bytes) : 1072693248
[junit] max process count : 4
[junit] states : 656
[junit] states saved : 348
[junit] state matches : 0
[junit] transitions : 649
[junit] trace steps : 332
[junit] valid calls : 5249
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/bcast_good_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] process 0: buf1=0, buf2=0
[junit] process 2: buf1=0, buf2=2
[junit] process 1: buf1=0, buf2=2
[junit] process 1: buf1=0, buf2=0
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=3 examples/mpi/collective/bcast_good.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.08
[junit] memory (bytes) : 1072693248
[junit] max process count : 4
[junit] states : 660
[junit] states saved : 350
[junit] state matches : 1
[junit] transitions : 653
[junit] trace steps : 335
[junit] valid calls : 5277
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 281:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:269.2-271.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_4)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] MPI_Scatter at mpi.cvl:269.2-9 "$assert" called from
[junit] _gen_main at scatter2.c:22.8-19 "MPI_Scatter" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatter2.c:10.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scatter2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/scatter2.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.16
[junit] memory (bytes) : 1072693248
[junit] max process count : 7
[junit] states : 551
[junit] states saved : 305
[junit] state matches : 0
[junit] transitions : 550
[junit] trace steps : 280
[junit] valid calls : 2461
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scatter2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 272:
[junit] CIVL execution violation in p1 (id = 1) (kind: UNDEFINED_VALUE, certainty: PROVEABLE)
[junit] at BcastReduce_bad.c:19.22-26 "recv":
[junit] attempt to read uninitialized variable recv
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-10)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] _gen_main at BcastReduce_bad.c:19.16-19 "num" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before BcastReduce_bad.c:4.13-17 "argc"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p7 (id=7):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p8 (id=8):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p9 (id=9):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p10 (id=10):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/BcastReduce_bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=10 examples/mpi/collective/BcastReduce_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.1
[junit] memory (bytes) : 1072693248
[junit] max process count : 11
[junit] states : 543
[junit] states saved : 292
[junit] state matches : 0
[junit] transitions : 542
[junit] trace steps : 271
[junit] valid calls : 1976
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/BcastReduce_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 examples/mpi/collective/bcast_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.4
[junit] memory (bytes) : 1232076800
[junit] max process count : 5
[junit] states : 605
[junit] states saved : 294
[junit] state matches : 0
[junit] transitions : 600
[junit] trace steps : 283
[junit] valid calls : 4759
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 137:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:269.2-271.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Allgather at mpi.cvl:359.2-13 "$mpi_gather" called from
[junit] _gen_main at scatterAllgather_bad.c:35.6-19 "MPI_Allgather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatterAllgather_bad.c:11.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Scatter at mpi.cvl:269.2-9 "$assert" called from
[junit] _gen_main at scatterAllgather_bad.c:33.6-17 "MPI_Scatter" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatterAllgather_bad.c:11.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scatterAllgather_bad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/scatterAllgather_bad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.09
[junit] memory (bytes) : 1232076800
[junit] max process count : 7
[junit] states : 277
[junit] states saved : 146
[junit] state matches : 0
[junit] transitions : 275
[junit] trace steps : 136
[junit] valid calls : 957
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scatterAllgather_bad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/collective/BcastReduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.23
[junit] memory (bytes) : 1232076800
[junit] max process count : 6
[junit] states : 1411
[junit] states saved : 750
[junit] state matches : 0
[junit] transitions : 1401
[junit] trace steps : 713
[junit] valid calls : 8882
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] receive buffer of process 0:
[junit] rcvBuf[0]=0
[junit] rcvBuf[1]=2
[junit] rcvBuf[2]=4
[junit] rcvBuf[3]=6
[junit] rcvBuf[4]=8
[junit] rcvBuf[5]=10
[junit] receive buffer of process 1:
[junit] rcvBuf[0]=0
[junit] rcvBuf[1]=2
[junit] rcvBuf[2]=4
[junit] rcvBuf[3]=6
[junit] rcvBuf[4]=8
[junit] rcvBuf[5]=10
[junit] receive buffer of process 2:
[junit] rcvBuf[0]=0
[junit] rcvBuf[1]=2
[junit] rcvBuf[2]=4
[junit] rcvBuf[3]=6
[junit] rcvBuf[4]=8
[junit] rcvBuf[5]=10
[junit] receive buffer of process 3:
[junit] rcvBuf[0]=0
[junit] rcvBuf[1]=2
[junit] rcvBuf[2]=4
[junit] rcvBuf[3]=6
[junit] rcvBuf[4]=8
[junit] rcvBuf[5]=10
[junit] receive buffer of process 4:
[junit] rcvBuf[0]=0
[junit] rcvBuf[1]=2
[junit] rcvBuf[2]=4
[junit] rcvBuf[3]=6
[junit] rcvBuf[4]=8
[junit] rcvBuf[5]=10
[junit] receive buffer of process 5:
[junit] rcvBuf[0]=0
[junit] rcvBuf[1]=2
[junit] rcvBuf[2]=4
[junit] rcvBuf[3]=6
[junit] rcvBuf[4]=8
[junit] rcvBuf[5]=10
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/scatterAllgather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.82
[junit] memory (bytes) : 1052770304
[junit] max process count : 7
[junit] states : 2159
[junit] states saved : 1252
[junit] state matches : 0
[junit] transitions : 2142
[junit] trace steps : 1173
[junit] valid calls : 17683
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] recv = 87
[junit] recv = 87
[junit] recv = 87
[junit] recv = 87
[junit] recv = 87
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/collective/BcastReduce2.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.6
[junit] memory (bytes) : 1224736768
[junit] max process count : 6
[junit] states : 2093
[junit] states saved : 1150
[junit] state matches : 0
[junit] transitions : 2079
[junit] trace steps : 1090
[junit] valid calls : 13071
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.MPICollectivePart2Test
[junit] Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.852 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Reduce routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 101:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:158.2-160.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Reduce routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_reduce at civl-mpi.cvl:299.15-28 "$comm_dequeue" called from
[junit] MPI_Reduce at mpi.cvl:163.2-13 "$mpi_reduce" called from
[junit] _gen_main at reduce.c:22.15-25 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before reduce.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Reduce at mpi.cvl:158.2-9 "$assert" called from
[junit] _gen_main at reduce.c:20.15-25 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before reduce.c:9.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/reduce_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -DOPERATOR examples/mpi/collective/reduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.01
[junit] memory (bytes) : 1213202432
[junit] max process count : 7
[junit] states : 226
[junit] states saved : 104
[junit] state matches : 0
[junit] transitions : 225
[junit] trace steps : 100
[junit] valid calls : 638
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/reduce_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 36:
[junit] CIVL execution violation in p1(id=1) (kind: MPI_ERROR, certainty: PROVEABLE)
[junit] at mpi.cvl:184.2-46 "$mpi_assertConsistentType(sendbuf, datatype)":
[junit] the primitive type $real of the object pointed by the input pointer argument of MPI routines is not consistent with the given MPI_Datatype
[junit]
[junit] Context:
[junit] (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] MPI_Allreduce at mpi.cvl:184.2-27 "$mpi_assertConsistentType" called from
[junit] _gen_main at allreduce.c:22.15-28 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before allreduce.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/allreduce_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -DTYPE examples/mpi/collective/allreduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.99
[junit] memory (bytes) : 1225261056
[junit] max process count : 7
[junit] states : 91
[junit] states saved : 36
[junit] state matches : 0
[junit] transitions : 90
[junit] trace steps : 35
[junit] valid calls : 178
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/allreduce_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] 0 1 2 3
[junit] 0 1 2 3
[junit] 0 1 2 3
[junit] 0 1 2 3
[junit] 0 1 2 3
[junit] 0 1 2 3
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/c_ex04.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.32
[junit] memory (bytes) : 1238892544
[junit] max process count : 7
[junit] states : 1062
[junit] states saved : 469
[junit] state matches : 0
[junit] transitions : 1055
[junit] trace steps : 452
[junit] valid calls : 10884
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] PE: 0 sum=15 calc=15
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/reduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.15
[junit] memory (bytes) : 1245184000
[junit] max process count : 7
[junit] states : 897
[junit] states saved : 445
[junit] state matches : 0
[junit] transitions : 895
[junit] trace steps : 432
[junit] valid calls : 3535
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/c_ex08.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.62
[junit] memory (bytes) : 1212153856
[junit] max process count : 7
[junit] states : 2050
[junit] states saved : 1115
[junit] state matches : 0
[junit] transitions : 2038
[junit] trace steps : 1049
[junit] valid calls : 9702
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] 1
[junit] 2 3
[junit] 4 5 6
[junit] 7 8 9 10
[junit] 11 12 13 14 15
[junit] 16 17 18 19 20 21
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/c_ex13.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.26
[junit] memory (bytes) : 1038090240
[junit] max process count : 7
[junit] states : 2017
[junit] states saved : 1143
[junit] state matches : 0
[junit] transitions : 2005
[junit] trace steps : 1077
[junit] valid calls : 18696
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=6 examples/mpi/collective/c_ex07.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.75
[junit] memory (bytes) : 1034944512
[junit] max process count : 7
[junit] states : 4244
[junit] states saved : 2672
[junit] state matches : 0
[junit] transitions : 4212
[junit] trace steps : 2473
[junit] valid calls : 38029
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] process 0 has local sum of 0
[junit] process 1 has local sum of 1
[junit] process 1 enters barrier
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Barrier routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 107:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:212.2-214.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Barrier routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-5)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_reduce at civl-mpi.cvl:299.15-28 "$comm_dequeue" called from
[junit] MPI_Reduce at mpi.cvl:163.2-13 "$mpi_reduce" called from
[junit] _gen_main at barrierReduce.c:25.8-18 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before barrierReduce.c:4.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Barrier at mpi.cvl:212.2-9 "$assert" called from
[junit] _gen_main at barrierReduce.c:21.8-19 "MPI_Barrier" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before barrierReduce.c:4.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/barrierReduce_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 -DORDER examples/mpi/collective/barrierReduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.02
[junit] memory (bytes) : 1041760256
[junit] max process count : 6
[junit] states : 233
[junit] states saved : 110
[junit] state matches : 0
[junit] transitions : 232
[junit] trace steps : 106
[junit] valid calls : 673
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/barrierReduce_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] PE: 0 sum=15 calc=15
[junit] PE: 1 sum=15 calc=15
[junit] PE: 2 sum=15 calc=15
[junit] PE: 3 sum=15 calc=15
[junit] PE: 4 sum=15 calc=15
[junit] PE: 5 sum=15 calc=15
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/allreduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.3
[junit] memory (bytes) : 1038090240
[junit] max process count : 7
[junit] states : 1136
[junit] states saved : 592
[junit] state matches : 0
[junit] transitions : 1129
[junit] trace steps : 569
[junit] valid calls : 8339
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] [1] got 1 expected 0 for 0th
[junit] [1] got 101 expected 1 for 0th
[junit] [1] got 201 expected 3 for 0th
[junit] [1] got 301 expected 6 for 0th
[junit] [1] got 401 expected 10 for 0th
[junit] [1] got 501 expected 15 for 0th
[junit] [2] got 3 expected 0 for 0th
[junit] [2] got 4 expected 1 for 1th
[junit] [2] got 103 expected 1 for 0th
[junit] [2] got 104 expected 2 for 1th
[junit] [2] got 203 expected 3 for 0th
[junit] [2] got 204 expected 4 for 1th
[junit] [2] got 303 expected 6 for 0th
[junit] [2] got 304 expected 7 for 1th
[junit] [2] got 403 expected 10 for 0th
[junit] [2] got 404 expected 11 for 1th
[junit] [2] got 503 expected 15 for 0th
[junit] [2] got 504 expected 16 for 1th
[junit] [3] got 6 expected 0 for 0th
[junit] [3] got 7 expected 1 for 1th
[junit] [3] got 8 expected 2 for 2th
[junit] [3] got 106 expected 1 for 0th
[junit] [3] got 107 expected 2 for 1th
[junit] [3] got 108 expected 3 for 2th
[junit] [3] got 206 expected 3 for 0th
[junit] [3] got 207 expected 4 for 1th
[junit] [3] got 208 expected 5 for 2th
[junit] [3] got 306 expected 6 for 0th
[junit] [3] got 307 expected 7 for 1th
[junit] [3] got 308 expected 8 for 2th
[junit] [3] got 406 expected 10 for 0th
[junit] [3] got 407 expected 11 for 1th
[junit] [3] got 408 expected 12 for 2th
[junit] [3] got 506 expected 15 for 0th
[junit] [3] got 507 expected 16 for 1th
[junit] [3] got 508 expected 17 for 2th
[junit] [4] got 10 expected 0 for 0th
[junit] [4] got 11 expected 1 for 1th
[junit] [4] got 12 expected 2 for 2th
[junit] [4] got 13 expected 3 for 3th
[junit] [4] got 110 expected 1 for 0th
[junit] [4] got 111 expected 2 for 1th
[junit] [4] got 112 expected 3 for 2th
[junit] [4] got 113 expected 4 for 3th
[junit] [4] got 210 expected 3 for 0th
[junit] [4] got 211 expected 4 for 1th
[junit] [4] got 212 expected 5 for 2th
[junit] [4] got 213 expected 6 for 3th
[junit] [4] got 310 expected 6 for 0th
[junit] [4] got 311 expected 7 for 1th
[junit] [4] got 312 expected 8 for 2th
[junit] [4] got 313 expected 9 for 3th
[junit] [4] got 410 expected 10 for 0th
[junit] [4] got 411 expected 11 for 1th
[junit] [4] got 412 expected 12 for 2th
[junit] [4] got 413 expected 13 for 3th
[junit] [4] got 510 expected 15 for 0th
[junit] [4] got 511 expected 16 for 1th
[junit] [4] got 512 expected 17 for 2th
[junit] [4] got 513 expected 18 for 3th
[junit] [5] got 15 expected 0 for 0th
[junit] [5] got 16 expected 1 for 1th
[junit] [5] got 17 expected 2 for 2th
[junit] [5] got 18 expected 3 for 3th
[junit] [5] got 19 expected 4 for 4th
[junit] [5] got 115 expected 1 for 0th
[junit] [5] got 116 expected 2 for 1th
[junit] [5] got 117 expected 3 for 2th
[junit] [5] got 118 expected 4 for 3th
[junit] [5] got 119 expected 5 for 4th
[junit] [5] got 215 expected 3 for 0th
[junit] [5] got 216 expected 4 for 1th
[junit] [5] got 217 expected 5 for 2th
[junit] [5] got 218 expected 6 for 3th
[junit] [5] got 219 expected 7 for 4th
[junit] [5] got 315 expected 6 for 0th
[junit] [5] got 316 expected 7 for 1th
[junit] [5] got 317 expected 8 for 2th
[junit] [5] got 318 expected 9 for 3th
[junit] [5] got 319 expected 10 for 4th
[junit] [5] got 415 expected 10 for 0th
[junit] [5] got 416 expected 11 for 1th
[junit] [5] got 417 expected 12 for 2th
[junit] [5] got 418 expected 13 for 3th
[junit] [5] got 419 expected 14 for 4th
[junit] [5] got 515 expected 15 for 0th
[junit] [5] got 516 expected 16 for 1th
[junit] [5] got 517 expected 17 for 2th
[junit] [5] got 518 expected 18 for 3th
[junit] [5] got 519 expected 19 for 4th
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/alltoallv.c
[junit]
[junit] === Stats ===
[junit] time (s) : 4.21
[junit] memory (bytes) : 1060634624
[junit] max process count : 7
[junit] states : 5124
[junit] states saved : 3510
[junit] state matches : 0
[junit] transitions : 5092
[junit] trace steps : 3299
[junit] valid calls : 60634
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] myid= 0 total= 10
[junit] myid= 1 total= 35
[junit] myid= 2 total= 60
[junit] myid= 3 total= 85
[junit] myid= 4 total= 110
[junit] myid= 5 total= 135
[junit] results from all processors= 435
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -inputcount=5 examples/mpi/collective/c_ex06.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.36
[junit] memory (bytes) : 1071644672
[junit] max process count : 7
[junit] states : 1729
[junit] states saved : 917
[junit] state matches : 0
[junit] transitions : 1722
[junit] trace steps : 868
[junit] valid calls : 7675
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Proc 0: 1 5 9 13
[junit] Proc 1: 1 5 9 13
[junit] Proc 2: 1 5 9 13
[junit] Proc 3: 1 5 9 13
[junit] Proc 0: 1
[junit] Proc 1: 5
[junit] Proc 2: 9
[junit] Proc 3: 13
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 examples/mpi/collective/reduceScatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.32
[junit] memory (bytes) : 1080033280
[junit] max process count : 5
[junit] states : 1352
[junit] states saved : 729
[junit] state matches : 0
[junit] transitions : 1344
[junit] trace steps : 696
[junit] valid calls : 7884
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Reduce routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 99:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:158.2-160.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Reduce routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_reduce at civl-mpi.cvl:299.15-28 "$comm_dequeue" called from
[junit] MPI_Reduce at mpi.cvl:163.2-13 "$mpi_reduce" called from
[junit] _gen_main at reduce.c:32.11-21 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before reduce.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Reduce at mpi.cvl:158.2-9 "$assert" called from
[junit] _gen_main at reduce.c:32.11-21 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before reduce.c:9.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/reduce_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -DROOT examples/mpi/collective/reduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.07
[junit] memory (bytes) : 1080033280
[junit] max process count : 7
[junit] states : 224
[junit] states saved : 102
[junit] state matches : 0
[junit] transitions : 223
[junit] trace steps : 98
[junit] valid calls : 617
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/reduce_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 47:
[junit] CIVL execution violation in p1(id=1) (kind: MPI_ERROR, certainty: PROVEABLE)
[junit] at mpi.cvl:161.2-46 "$mpi_assertConsistentType(sendbuf, datatype)":
[junit] the primitive type $real of the object pointed by the input pointer argument of MPI routines is not consistent with the given MPI_Datatype
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] MPI_Reduce at mpi.cvl:161.2-27 "$mpi_assertConsistentType" called from
[junit] _gen_main at reduce.c:30.15-25 "MPI_Reduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before reduce.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/reduce_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -DTYPE examples/mpi/collective/reduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.0
[junit] memory (bytes) : 1092616192
[junit] max process count : 7
[junit] states : 111
[junit] states saved : 48
[junit] state matches : 0
[junit] transitions : 110
[junit] trace steps : 46
[junit] valid calls : 236
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/reduce_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] process 0 has local sum of 0
[junit] process 0 enters barrier
[junit] process 1 has local sum of 1
[junit] process 1 enters barrier
[junit] process 2 has local sum of 3
[junit] process 2 enters barrier
[junit] process 3 has local sum of 6
[junit] process 3 enters barrier
[junit] process 4 has local sum of 10
[junit] process 4 enters barrier
[junit] process 0 exits barrier
[junit] process 1 exits barrier
[junit] process 2 exits barrier
[junit] process 3 exits barrier
[junit] process 4 exits barrier
[junit] total sum is 20
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/collective/barrierReduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.22
[junit] memory (bytes) : 1072168960
[junit] max process count : 6
[junit] states : 944
[junit] states saved : 480
[junit] state matches : 0
[junit] transitions : 942
[junit] trace steps : 464
[junit] valid calls : 3162
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Allreduce routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 101:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:189.2-191.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Allreduce routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_reduce at civl-mpi.cvl:299.15-28 "$comm_dequeue" called from
[junit] MPI_Allreduce at mpi.cvl:192.2-13 "$mpi_reduce" called from
[junit] _gen_main at allreduce.c:27.15-28 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before allreduce.c:9.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Allreduce at mpi.cvl:189.2-9 "$assert" called from
[junit] _gen_main at allreduce.c:25.15-28 "MPI_Allreduce" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before allreduce.c:9.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/allreduce_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -DOPERATOR examples/mpi/collective/allreduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.06
[junit] memory (bytes) : 1029701632
[junit] max process count : 7
[junit] states : 224
[junit] states saved : 104
[junit] state matches : 0
[junit] transitions : 223
[junit] trace steps : 100
[junit] valid calls : 632
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/allreduce_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Barrier routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 199:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:212.2-214.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Barrier routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-5)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $barrier_call at concurrency.cvl:60.2-15 "$barrier_exit" called from
[junit] MPI_Barrier at mpi.cvl:215.2-15 "$barrier_call" called from
[junit] _gen_main at barrierScatter.c:27.8-19 "MPI_Barrier" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before barrierScatter.c:10.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Barrier at mpi.cvl:212.2-9 "$assert" called from
[junit] _gen_main at barrierScatter.c:29.8-19 "MPI_Barrier" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before barrierScatter.c:10.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/barrierScatter_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/collective/barrierScatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.1
[junit] memory (bytes) : 1027604480
[junit] max process count : 6
[junit] states : 389
[junit] states saved : 216
[junit] state matches : 0
[junit] transitions : 388
[junit] trace steps : 198
[junit] valid calls : 1424
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/barrierScatter_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] sendBuf[0]=0, rcvBuf[0]=0
[junit] sendBuf[1]=1, rcvBuf[1]=2
[junit] sendBuf[2]=2, rcvBuf[2]=4
[junit] sendBuf[3]=3, rcvBuf[3]=6
[junit] sendBuf[4]=4, rcvBuf[4]=8
[junit] sendBuf[5]=5, rcvBuf[5]=10
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 examples/mpi/collective/scatterGather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.52
[junit] memory (bytes) : 1260388352
[junit] max process count : 7
[junit] states : 1756
[junit] states saved : 1017
[junit] state matches : 0
[junit] transitions : 1744
[junit] trace steps : 948
[junit] valid calls : 8593
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] myid= 0 total= 10
[junit] myid= 1 total= 35
[junit] myid= 2 total= 60
[junit] myid= 3 total= 85
[junit] myid= 4 total= 110
[junit] myid= 5 total= 135
[junit] results from all processors= 435
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=6 -inputcount=5 examples/mpi/collective/c_ex05.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.56
[junit] memory (bytes) : 1094713344
[junit] max process count : 7
[junit] states : 1963
[junit] states saved : 1085
[junit] state matches : 0
[junit] transitions : 1951
[junit] trace steps : 1020
[junit] valid calls : 9299
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 137:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:269.2-271.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Scatter routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=6
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X2
[junit] Assertion: $assert(checkPassed, &((_anon_4)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_INT+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Gather at mpi.cvl:244.2-13 "$mpi_gather" called from
[junit] _gen_main at scatterGather.c:41.8-18 "MPI_Gather" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatterGather.c:11.13-17 "argc"
[junit] process p2 (id=2):
[junit] MPI_Scatter at mpi.cvl:269.2-9 "$assert" called from
[junit] _gen_main at scatterGather.c:39.8-19 "MPI_Scatter" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before scatterGather.c:11.13-17 "argc"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p6 (id=6):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/scatterGather_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -DORDER -input_mpi_nprocs=6 examples/mpi/collective/scatterGather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.04
[junit] memory (bytes) : 1257766912
[junit] max process count : 7
[junit] states : 277
[junit] states saved : 146
[junit] state matches : 0
[junit] transitions : 275
[junit] trace steps : 136
[junit] valid calls : 957
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/scatterGather_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.MPITranslationTest
[junit] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 58.438 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -enablePrintf=false examples/mpi/routines/Gather_Scatter/mpi_gather_inPlace.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.14
[junit] memory (bytes) : 1265631232
[junit] max process count : 5
[junit] states : 874
[junit] states saved : 430
[junit] state matches : 0
[junit] transitions : 869
[junit] trace steps : 413
[junit] valid calls : 5794
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs_hi=3 -inputNB=8 examples/mpi/sum_array.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.02
[junit] memory (bytes) : 965738496
[junit] max process count : 4
[junit] states : 7303
[junit] states saved : 4141
[junit] state matches : 8
[junit] transitions : 7251
[junit] trace steps : 3970
[junit] valid calls : 34432
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 39
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl compare -enablePrintf=false -input_mpi_nprocs=2 -inputNB=4 -spec examples/mpi/seq/adder_spec.c -impl examples/mpi/adder_par.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.74
[junit] memory (bytes) : 962592768
[junit] max process count : 3
[junit] states : 1488
[junit] states saved : 713
[junit] state matches : 0
[junit] transitions : 1479
[junit] trace steps : 698
[junit] valid calls : 3916
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 33
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] I'm process 1, my integer value is 6
[junit] I'm process 2, my integer value is 6
[junit] I'm process 0, my integer value is 6
[junit] I'm process 0, my double value is 6
[junit] I'm process 3, my integer value is 6
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -enablePrintf=true examples/mpi/routines/reduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.1
[junit] memory (bytes) : 974127104
[junit] max process count : 5
[junit] states : 987
[junit] states saved : 528
[junit] state matches : 0
[junit] transitions : 982
[junit] trace steps : 505
[junit] valid calls : 4578
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -inputnsteps=2 -inputnx=2 -inputny=2 -enablePrintf=false -inputNPROCSX=2 -inputNPROCSY=2 examples/mpi/diffusion2d.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.98
[junit] memory (bytes) : 983564288
[junit] max process count : 5
[junit] states : 2916
[junit] states saved : 1737
[junit] state matches : 0
[junit] transitions : 2876
[junit] trace steps : 1655
[junit] valid calls : 15757
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs_hi=3 -inputNB=2 -inputLB=2 -inputMB=2 examples/mpi/matmat_mw/matmat_mw.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.63
[junit] memory (bytes) : 910163968
[junit] max process count : 4
[junit] states : 11194
[junit] states saved : 6111
[junit] state matches : 4
[junit] transitions : 11095
[junit] trace steps : 5838
[junit] valid calls : 71966
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 26
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -enablePrintf=false examples/mpi/routines/Gather_Scatter/mpi_gather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.14
[junit] memory (bytes) : 1010827264
[junit] max process count : 5
[junit] states : 872
[junit] states saved : 438
[junit] state matches : 0
[junit] transitions : 867
[junit] trace steps : 419
[junit] valid calls : 5973
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs_hi=3 -inputNSTEPSB=2 -inputNXB=4 -enablePrintf=false examples/mpi/wave1d.c
[junit]
[junit] === Stats ===
[junit] time (s) : 4.14
[junit] memory (bytes) : 1013448704
[junit] max process count : 4
[junit] states : 10749
[junit] states saved : 6755
[junit] state matches : 0
[junit] transitions : 10670
[junit] trace steps : 6371
[junit] valid calls : 54152
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 26
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process terminates without calling MPI_Finalize() first.
[junit]
[junit] Violation 0 encountered at depth 3192:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at civl-mpi.cvl:101.4-102.37 "$assert(curr_status == __FINALIZED, ... )":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] NXB=5
[junit] nx=5
[junit] NYB=5
[junit] ny=5
[junit] u_init=(real[7][7])X4
[junit] k=X5
[junit] NSTEPSB=3
[junit] nsteps=3
[junit] wstep=1
[junit] NPROCSXB=2
[junit] NPROCSX=2
[junit] NPROCSYB=2
[junit] NPROCSY=2
[junit] _mpi_nprocs=4
[junit] Assertion: $assert((curr_status==2), &((_anon_7)[0]))
[junit] -> 1==2
[junit] -> false
[junit]
[junit] Context:
[junit] (0<-1*X5+1/2) && (0<X5) && (0<=SIZEOF(($real)*)+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from stdio.cvl:10.10-21 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_comm_destroy at civl-mpi.cvl:101.4-11 "$assert" called from
[junit] _mpi_process at MPITransformer:0.-1-14 "MPI_COMM_WORLD\n" inserted by MPITransformer.function call $mpi_comm_destroy before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from stdio.cvl:10.10-21 "<civlc.cvh>"
[junit] process p2 (id=2):
[junit] $mpi_send at civl-mpi.cvl:145.2-8 "return" called from
[junit] $mpi_sendrecv at civl-mpi.cvl:227.4-13 "$mpi_send" called from
[junit] MPI_Sendrecv at mpi.cvl:109.2-15 "$mpi_sendrecv" called from
[junit] exchange at diffusion2dBad.c:275.2-14 "MPI_Sendrecv" called from
[junit] _gen_main at diffusion2dBad.c:357.6-14 "exchange" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before diffusion2dBad.c:338.13-17 "argc"
[junit] process p3 (id=3):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] $mpi_sendrecv at civl-mpi.cvl:230.4-13 "$mpi_recv" called from
[junit] MPI_Sendrecv at mpi.cvl:109.2-15 "$mpi_sendrecv" called from
[junit] exchange at diffusion2dBad.c:275.2-14 "MPI_Sendrecv" called from
[junit] _gen_main at diffusion2dBad.c:357.6-14 "exchange" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before diffusion2dBad.c:338.13-17 "argc"
[junit] process p4 (id=4):
[junit] $mpi_send at civl-mpi.cvl:145.2-8 "return" called from
[junit] $mpi_sendrecv at civl-mpi.cvl:227.4-13 "$mpi_send" called from
[junit] MPI_Sendrecv at mpi.cvl:109.2-15 "$mpi_sendrecv" called from
[junit] exchange at diffusion2dBad.c:268.2-14 "MPI_Sendrecv" called from
[junit] _gen_main at diffusion2dBad.c:357.6-14 "exchange" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before diffusion2dBad.c:338.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/diffusion2dBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -enablePrintf=false -inputNPROCSX=2 -inputNPROCSY=2 examples/mpi/diffusion2dBad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 5.5
[junit] memory (bytes) : 1098383360
[junit] max process count : 5
[junit] states : 5908
[junit] states saved : 3346
[junit] state matches : 0
[junit] transitions : 5862
[junit] trace steps : 3191
[junit] valid calls : 30108
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 60
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/diffusion2dBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -showTransitions=false -inputNSTEPSB=2 -inputNXB=1 -inputNYB=2 -inputNPROCSX=1 -inputNPROCSY=2 -enablePrintf=false examples/mpi/diffusion2d.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.6
[junit] memory (bytes) : 1103101952
[junit] max process count : 3
[junit] states : 3438
[junit] states saved : 1997
[junit] state matches : 0
[junit] transitions : 3400
[junit] trace steps : 1920
[junit] valid calls : 16395
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 57
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/ring1.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.87
[junit] memory (bytes) : 1103101952
[junit] max process count : 3
[junit] states : 280
[junit] states saved : 134
[junit] state matches : 0
[junit] transitions : 276
[junit] trace steps : 129
[junit] valid calls : 893
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -enablePrintf=false examples/mpi/routines/Gather_Scatter/mpi_scatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.14
[junit] memory (bytes) : 1101529088
[junit] max process count : 5
[junit] states : 797
[junit] states saved : 410
[junit] state matches : 0
[junit] transitions : 792
[junit] trace steps : 391
[junit] valid calls : 6733
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs_hi=2 -inputLIMITB=13 examples/mpi/mpi_prime.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.13
[junit] memory (bytes) : 1065877504
[junit] max process count : 3
[junit] states : 2948
[junit] states saved : 1451
[junit] state matches : 0
[junit] transitions : 2945
[junit] trace steps : 1393
[junit] valid calls : 10424
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 126
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 -saveStates=false examples/mpi/ring1.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.92
[junit] memory (bytes) : 1084227584
[junit] max process count : 3
[junit] states : 151
[junit] states saved : 1
[junit] state matches : 0
[junit] transitions : 276
[junit] trace steps : 129
[junit] valid calls : 893
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 -inputNB=4 -enablePrintf=false examples/mpi/adder_par.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.36
[junit] memory (bytes) : 968884224
[junit] max process count : 3
[junit] states : 1012
[junit] states saved : 523
[junit] state matches : 0
[junit] transitions : 1006
[junit] trace steps : 498
[junit] valid calls : 3225
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 27
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=3 examples/mpi/routines/mpiSysStatus.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.81
[junit] memory (bytes) : 968884224
[junit] max process count : 4
[junit] states : 221
[junit] states saved : 68
[junit] state matches : 0
[junit] transitions : 219
[junit] trace steps : 67
[junit] valid calls : 864
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 -enablePrintf=false examples/mpi/../mpi-pthread/mpithreads_mpi.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.43
[junit] memory (bytes) : 1001914368
[junit] max process count : 3
[junit] states : 2564
[junit] states saved : 1586
[junit] state matches : 0
[junit] transitions : 2562
[junit] trace steps : 1577
[junit] valid calls : 14526
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -inputnumRow=2 -inputnumCol=2 -input_mpi_nprocs=2 examples/mpi/gaussJordan_elimination.c
[junit]
[junit] === Stats ===
[junit] time (s) : 4.5
[junit] memory (bytes) : 1293418496
[junit] max process count : 3
[junit] states : 9505
[junit] states saved : 5240
[junit] state matches : 0
[junit] transitions : 9462
[junit] trace steps : 5011
[junit] valid calls : 39954
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 62
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=3 examples/mpi/sendrecv.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.81
[junit] memory (bytes) : 1101529088
[junit] max process count : 4
[junit] states : 521
[junit] states saved : 254
[junit] state matches : 0
[junit] transitions : 513
[junit] trace steps : 241
[junit] valid calls : 2130
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.
[junit]
[junit]
[junit] Violation 0 encountered at depth 24:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:58.2-59.56 "$assert(curr_status == __INIT, ... )":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=3
[junit] Assertion: $assert((curr_status==1), &((_anon_0)[0]))
[junit] -> 2==1
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] MPI_Comm_rank at mpi.cvl:58.2-9 "$assert" called from
[junit] _gen_main at mpiSysStatusBad2.c:12.2-15 "MPI_Comm_rank" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before mpiSysStatusBad2.c:7.13-17 "argc"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/mpiSysStatusBad2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=3 examples/mpi/routines/mpiSysStatusBad2.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.66
[junit] memory (bytes) : 1299185664
[junit] max process count : 4
[junit] states : 69
[junit] states saved : 24
[junit] state matches : 0
[junit] transitions : 68
[junit] trace steps : 23
[junit] valid calls : 117
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/mpiSysStatusBad2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=4 -enablePrintf=false examples/mpi/routines/Gather_Scatter/mpi_scatter_inPlace.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.15
[junit] memory (bytes) : 1113587712
[junit] max process count : 5
[junit] states : 799
[junit] states saved : 406
[junit] state matches : 0
[junit] transitions : 794
[junit] trace steps : 389
[junit] valid calls : 6722
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.
[junit]
[junit]
[junit] Violation 0 encountered at depth 21:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:58.2-59.56 "$assert(curr_status == __INIT, ... )":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _mpi_nprocs=3
[junit] Assertion: $assert((curr_status==1), &((_anon_0)[0]))
[junit] -> 0==1
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] MPI_Comm_rank at mpi.cvl:58.2-9 "$assert" called from
[junit] _gen_main at mpiSysStatusBad.c:10.2-15 "MPI_Comm_rank" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before mpiSysStatusBad.c:7.13-17 "argc"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/mpiSysStatusBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=3 examples/mpi/routines/mpiSysStatusBad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.67
[junit] memory (bytes) : 1299709952
[junit] max process count : 4
[junit] states : 63
[junit] states saved : 21
[junit] state matches : 0
[junit] transitions : 62
[junit] trace steps : 20
[junit] valid calls : 105
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/mpiSysStatusBad_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.MPI_OpenMPTest
[junit] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.344 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -input_mpi_nprocs=2 examples/mpi-omp/mpi-omp-hello-world.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.6
[junit] memory (bytes) : 1293418496
[junit] max process count : 3
[junit] states : 189
[junit] states saved : 72
[junit] state matches : 0
[junit] transitions : 187
[junit] trace steps : 71
[junit] valid calls : 615
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -DMATH_ELABORATE_ASSUMPTIONS -input_mpi_nprocs=2 -input_omp_thread_max=10 -ompLoopDecomp=ALL examples/mpi-omp/mpi-omp-pie-calculation100.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.88
[junit] memory (bytes) : 1304428544
[junit] max process count : 3
[junit] states : 6570
[junit] states saved : 1295
[junit] state matches : 0
[junit] transitions : 6566
[junit] trace steps : 1282
[junit] valid calls : 7953
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -DMATH_ELABORATE_ASSUMPTIONS -input_mpi_nprocs=2 -input_omp_thread_max=3 -ompLoopDecomp=ALL examples/mpi-omp/mpi-omp-pie-calculation.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.86
[junit] memory (bytes) : 1320681472
[junit] max process count : 3
[junit] states : 606
[junit] states saved : 301
[junit] state matches : 0
[junit] transitions : 602
[junit] trace steps : 288
[junit] valid calls : 1989
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 6
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.OmpHelpersTest
[junit] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.465 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254389712 ...
[junit] Hello from thread 1
[junit] Hello from thread 2
[junit] Hello from thread 0
[junit] Trace ends after 406 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/for.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.21
[junit] memory (bytes) : 1320681472
[junit] max process count : 4
[junit] states : 922
[junit] states Saved : 415
[junit] seed : 1447254389712
[junit] valid calls : 2724
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254389946 ...
[junit] Hello from thread 2
[junit] Hello from thread 1
[junit] Hello from thread 0
[junit] Trace ends after 115 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/shared.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.16
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 143
[junit] states Saved : 124
[junit] seed : 1447254389946
[junit] valid calls : 1127
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254390094 ...
[junit] Hello from thread 2
[junit] Hello from thread 0
[junit] Hello from thread 1
[junit] Trace ends after 211 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/single.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.17
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 452
[junit] states Saved : 220
[junit] seed : 1447254390094
[junit] valid calls : 1566
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254390244 ...
[junit] Hello from thread 2
[junit] Hello from thread 0
[junit] Hello from thread 1
[junit] Trace ends after 128 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/read.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.13
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 165
[junit] states Saved : 137
[junit] seed : 1447254390244
[junit] valid calls : 1245
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254390372 ...
[junit] Hello from thread 2
[junit] Hello from thread 0
[junit] Hello from thread 1
[junit] Trace ends after 57 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/teams.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.11
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 76
[junit] states Saved : 62
[junit] seed : 1447254390372
[junit] valid calls : 558
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254390483 ...
[junit] Hello from thread 1
[junit] Hello from thread 2
[junit] Hello from thread 0
[junit] Trace ends after 137 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/write.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.13
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 261
[junit] states Saved : 146
[junit] seed : 1447254390483
[junit] valid calls : 1323
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254390622 ...
[junit] Hello from thread 0
[junit] Hello from thread 1
[junit] Hello from thread 2
[junit] Trace ends after 409 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/sections.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.2
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 933
[junit] states Saved : 418
[junit] seed : 1447254390622
[junit] valid calls : 2411
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254390860 ...
[junit] Hello from thread 2
[junit] Hello from thread 0
[junit] Hello from thread 1
[junit] Trace ends after 230 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/barrierFlush.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.2
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 356
[junit] states Saved : 239
[junit] seed : 1447254390860
[junit] valid calls : 1898
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Running random simulation with seed 1447254391011 ...
[junit] Hello from thread 0
[junit] Hello from thread 1
[junit] Hello from thread 2
[junit] Trace ends after 218 trace steps.
[junit]
[junit] === Command ===
[junit] civl run examples/library/omp/reduction.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.15
[junit] memory (bytes) : 1339031552
[junit] max process count : 4
[junit] states : 309
[junit] states Saved : 227
[junit] seed : 1447254391011
[junit] valid calls : 1667
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.OpenMP2CIVLTransformerTest
[junit] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.318 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Starting matrix multiple example with 1 threads
[junit] Initializing matrices...
[junit] Thread 0 starting matrix multiply...
[junit] Thread=0 did row=0
[junit] Thread=0 did row=1
[junit] Thread=0 did row=2
[junit] Thread=0 did row=3
[junit] ******************************************************
[junit] Result Matrix:
[junit] 0 14 28 42
[junit] 0 20 40 60
[junit] 0 26 52 78
[junit] 0 32 64 96
[junit] ******************************************************
[junit] Done.
[junit]
[junit] === Command ===
[junit] civl verify -input_omp_thread_max=2 examples/omp/matProduct1.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.75
[junit] memory (bytes) : 1339031552
[junit] max process count : 1
[junit] states : 632
[junit] states saved : 158
[junit] state matches : 0
[junit] transitions : 631
[junit] trace steps : 157
[junit] valid calls : 695
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Number of threads = 1
[junit] Sum = 285
[junit] Number of threads = 2
[junit] Thread 1 can't perform $omp_write because thread 0 has written to the same variable and hasn't flushed yet.
[junit]
[junit]
[junit] Violation 0 encountered at depth 357:
[junit] CIVL execution violation in p3(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at civl-omp.cvl:239.2-240.26 "$assert(otherTid < 0, ... )":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _omp_thread_max=2
[junit] Assertion: $assert((otherTid<0), &((_anon_3)[0]), (*(shared)).1, otherTid)
[junit] -> 0<0
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct OMP_gteam)+-1) && (0<=SIZEOF(struct OMP_team)+-1) && (0<=SIZEOF(struct OMP_gshared)+-1) && (0<=SIZEOF(struct OMP_shared)+-1) && (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _gen_main at OpenMPTransformer:0.-1-20 "$parfor(int _omp_t..." inserted by OpenMPTransformer.parallelPragma before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from omp.cvl:1.9-20 "<civlc.cvh>" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before dotProduct_critical.c:19.14-18 "argc"
[junit] process p1 (id=1):
[junit] $barrier_call at concurrency.cvl:60.2-15 "$barrier_exit" called from
[junit] $omp_barrier_and_flush at civl-omp.cvl:311.2-15 "$barrier_call" called from
[junit] _par_proc0 at OpenMPTransformer:0.-1-9 "_omp_team\n" inserted by OpenMPTransformer.barrierAndFlushCall before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from omp.cvl:1.9-20 "<civlc.cvh>"
[junit] process p3 (id=2):
[junit] $omp_write at civl-omp.cvl:239.2-9 "$assert" called from
[junit] _par_proc0 at OpenMPTransformer:0.-1-20 "_omp_tid_shared, &..." inserted by OpenMPTransformer.tid_sharedWriteCall before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from omp.cvl:1.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/dotProduct_critical_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_omp_thread_max=2 examples/omp/dotProduct_critical.c
[junit]
[junit] === Stats ===
[junit] time (s) : 6.27
[junit] memory (bytes) : 1458569216
[junit] max process count : 3
[junit] states : 3418
[junit] states saved : 1765
[junit] state matches : 0
[junit] transitions : 3416
[junit] trace steps : 1734
[junit] valid calls : 7640
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/dotProduct_critical_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_omp_thread_max=2 examples/omp/parallelfor.c
[junit]
[junit] === Stats ===
[junit] time (s) : 5.0
[junit] memory (bytes) : 1479540736
[junit] max process count : 3
[junit] states : 30389
[junit] states saved : 10456
[junit] state matches : 639
[junit] transitions : 31024
[junit] trace steps : 10958
[junit] valid calls : 47661
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] loop 0
[junit] loop 1
[junit] loop 2
[junit] loop 3
[junit] loop 4
[junit] loop 5
[junit] loop 6
[junit] loop 7
[junit] Sum = 140
[junit]
[junit] === Command ===
[junit] civl verify -input_omp_thread_max=2 examples/omp/dotProduct1.c
[junit]
[junit] === Stats ===
[junit] time (s) : 0.67
[junit] memory (bytes) : 1479540736
[junit] max process count : 1
[junit] states : 123
[junit] states saved : 47
[junit] state matches : 0
[junit] transitions : 122
[junit] trace steps : 46
[junit] valid calls : 73
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] loop 0
[junit] loop 1
[junit] loop 2
[junit] loop 3
[junit] loop 4
[junit] loop 5
[junit] loop 6
[junit] loop 7
[junit] Sum = 140
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] Sum = 140
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 0
[junit] loop 2
[junit] loop 4
[junit] loop 6
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit] loop 1
[junit] loop 3
[junit] loop 5
[junit] loop 7
[junit]
[junit] === Command ===
[junit] civl verify -ompNoSimplify -input_omp_thread_max=2 examples/omp/dotProduct1.c
[junit]
[junit] === Stats ===
[junit] time (s) : 4.32
[junit] memory (bytes) : 1477443584
[junit] max process count : 3
[junit] states : 7177
[junit] states saved : 4495
[junit] state matches : 171
[junit] transitions : 7315
[junit] trace steps : 4574
[junit] valid calls : 28832
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -ompNoSimplify -input_omp_thread_max=2 examples/omp/parallelfor.c
[junit]
[junit] === Stats ===
[junit] time (s) : 5.08
[junit] memory (bytes) : 1480065024
[junit] max process count : 3
[junit] states : 30389
[junit] states saved : 10456
[junit] state matches : 639
[junit] transitions : 31024
[junit] trace steps : 10958
[junit] valid calls : 47661
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Number of threads = 1
[junit] Sum = 285
[junit] Number of threads = 2
[junit] Thread 1 can't perform $omp_write because thread 0 has written to the same variable and hasn't flushed yet.
[junit]
[junit]
[junit] Violation 0 encountered at depth 304:
[junit] CIVL execution violation in p3(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at civl-omp.cvl:239.2-240.26 "$assert(otherTid < 0, ... )":
[junit]
[junit] Input variables:
[junit] _gen_argc=X0
[junit] _gen_argv=(CHAR[10][])X1
[junit] _omp_thread_max=2
[junit] Assertion: $assert((otherTid<0), &((_anon_3)[0]), (*(shared)).1, otherTid)
[junit] -> 0<0
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct OMP_gteam)+-1) && (0<=SIZEOF(struct OMP_team)+-1) && (0<=SIZEOF(struct OMP_gshared)+-1) && (0<=SIZEOF(struct OMP_shared)+-1) && (0<=-1*X0+9) && (0<=X0+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _gen_main at OpenMPTransformer:0.-1-20 "$parfor(int _omp_t..." inserted by OpenMPTransformer.parallelPragma before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from omp.cvl:1.9-20 "<civlc.cvh>" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before dotProduct_critical.c:19.14-18 "argc"
[junit] process p1 (id=1):
[junit] $barrier_call at concurrency.cvl:60.2-15 "$barrier_exit" called from
[junit] $omp_barrier_and_flush at civl-omp.cvl:311.2-15 "$barrier_call" called from
[junit] _par_proc0 at OpenMPTransformer:0.-1-9 "_omp_team\n" inserted by OpenMPTransformer.barrierAndFlushCall before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from omp.cvl:1.9-20 "<civlc.cvh>"
[junit] process p3 (id=2):
[junit] $omp_write at civl-omp.cvl:239.2-9 "$assert" called from
[junit] _par_proc0 at OpenMPTransformer:0.-1-20 "_omp_tid_shared, &..." inserted by OpenMPTransformer.tid_sharedWriteCall before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from omp.cvl:1.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/dotProduct_critical_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -ompNoSimplify -input_omp_thread_max=2 examples/omp/dotProduct_critical.c
[junit]
[junit] === Stats ===
[junit] time (s) : 6.2
[junit] memory (bytes) : 1480065024
[junit] max process count : 3
[junit] states : 3089
[junit] states saved : 1737
[junit] state matches : 0
[junit] transitions : 3084
[junit] trace steps : 1706
[junit] valid calls : 7490
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/dotProduct_critical_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.PORTest
[junit] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.316 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 6:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at pointerShare.cvl:22.2-18 "$assert((*p==5))":
[junit]
[junit] Assertion: $assert((*(p)==5))
[junit] -> *&<d0>x==5
[junit] -> 15==5
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerShare.cvl:22.2-9 "$assert"
[junit] process p1 (id=1):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerShare_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/pointerShare.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1480065024
[junit] max process count : 2
[junit] states : 20
[junit] states saved : 10
[junit] state matches : 1
[junit] transitions : 21
[junit] trace steps : 10
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerShare_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -inputN=4 examples/por/adder2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1480065024
[junit] max process count : 5
[junit] states : 404
[junit] states saved : 73
[junit] state matches : 34
[junit] transitions : 437
[junit] trace steps : 106
[junit] valid calls : 370
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 6:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at guard1.cvl:12.2-19 "$assert((v == 0))":
[junit]
[junit] Assertion: $assert((v==0))
[junit] -> 1==0
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at guard1.cvl:26.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] f at guard1.cvl:12.2-9 "$assert"
[junit] process p2 (id=2):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/guard1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/guard1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1480065024
[junit] max process count : 3
[junit] states : 20
[junit] states saved : 11
[junit] state matches : 1
[junit] transitions : 21
[junit] trace steps : 11
[junit] valid calls : 68
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/guard1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 7:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at guard2.cvl:12.2-19 "$assert((v == 0))":
[junit]
[junit] Assertion: $assert((v==0))
[junit] -> 1==0
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at guard2.cvl:31.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] f at guard2.cvl:12.2-9 "$assert"
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/guard2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/guard2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.04
[junit] memory (bytes) : 1501036544
[junit] max process count : 4
[junit] states : 28
[junit] states saved : 14
[junit] state matches : 2
[junit] transitions : 30
[junit] trace steps : 15
[junit] valid calls : 116
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/guard2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 9:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at trade3.cvl:25.2-17 "$assert((x==3))":
[junit]
[junit] Assertion: $assert((x==3))
[junit] -> 4==3
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at trade3.cvl:25.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/trade3_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/trade3.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 3
[junit] states : 16
[junit] states saved : 9
[junit] state matches : 0
[junit] transitions : 16
[junit] trace steps : 8
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/trade3_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 6:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at trade4.cvl:29.2-7 "$wait":
[junit] A deadlock is possible:
[junit] Path condition: true
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): terminated
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at trade4.cvl:29.2-7 "$wait"
[junit] process p1 (id=1):
[junit] p1 at trade4.cvl:14.4-9 "$when"
[junit] process p2 (id=2):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/trade4_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/trade4.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 3
[junit] states : 20
[junit] states saved : 11
[junit] state matches : 0
[junit] transitions : 19
[junit] trace steps : 10
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/trade4_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at atomic0.cvl:13.4-19 "$assert((x==0))":
[junit]
[junit] Assertion: $assert((x==0))
[junit] -> 1==0
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at atomic0.cvl:13.4-11 "$assert"
[junit] process p1 (id=1):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/atomic0_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/atomic0.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 2
[junit] states : 12
[junit] states saved : 6
[junit] state matches : 0
[junit] transitions : 13
[junit] trace steps : 5
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/atomic0_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 2:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at atomic1.cvl:12.4-19 "$assert((x==1))":
[junit]
[junit] Assertion: $assert((x==1))
[junit] -> 0==1
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at atomic1.cvl:12.4-11 "$assert"
[junit] process p1 (id=1):
[junit] f at atomic1.cvl:6.2-3 "x"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/atomic1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/atomic1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 2
[junit] states : 3
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 4
[junit] trace steps : 1
[junit] valid calls : 2
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/atomic1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ample set at state 4 fully expanded
[junit] ample set at state 5 fully expanded
[junit] ample set at state 6 fully expanded
[junit]
[junit] Violation 0 encountered at depth 7:
[junit] CIVL execution violation in p3(id=3) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at loop.cvl:24.2-15 "$assert(g==2)":
[junit]
[junit] Assertion: $assert((g==2))
[junit] -> 1==2
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at loop.cvl:35.2-7 "$wait"
[junit] process p1 (id=1):
[junit] proc0 at loop.cvl:9.10-11 "1"
[junit] process p2 (id=2):
[junit] proc1 at loop.cvl:19.2-9 "$assert"
[junit] process p3 (id=3):
[junit] proc2 at loop.cvl:24.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/loop_0.trace
[junit] ample set at state 7 fully expanded
[junit] ample set at state 8 fully expanded
[junit] ample set at state 9 fully expanded
[junit]
[junit] Violation 1 encountered at depth 8:
[junit] CIVL execution violation in p3(id=3) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at loop.cvl:24.2-15 "$assert(g==2)":
[junit]
[junit] Assertion: $assert((g==2))
[junit] -> 1==2
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at loop.cvl:35.2-7 "$wait"
[junit] process p1 (id=1):
[junit] proc0 at loop.cvl:9.10-11 "1"
[junit] process p2 (id=2):
[junit] terminated
[junit] process p3 (id=3):
[junit] proc2 at loop.cvl:24.2-9 "$assert"
[junit]
[junit] New log entry is equivalent to previously encountered entry 0
[junit] Length of new trace (8) is greater than or equal to length of old (7): ignoring new trace.
[junit] ample set at state 10 fully expanded
[junit] ample set at state 11 fully expanded
[junit] ample set at state 12 fully expanded
[junit]
[junit] Violation 2 encountered at depth 7:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at loop.cvl:19.2-15 "$assert(g==1)":
[junit]
[junit] Assertion: $assert((g==1))
[junit] -> 2==1
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at loop.cvl:35.2-7 "$wait"
[junit] process p1 (id=1):
[junit] proc0 at loop.cvl:9.10-11 "1"
[junit] process p2 (id=2):
[junit] proc1 at loop.cvl:19.2-9 "$assert"
[junit] process p3 (id=3):
[junit] proc2 at loop.cvl:24.2-9 "$assert"
[junit]
[junit] Logging new entry 1, writing trace to CIVLREP/loop_1.trace
[junit] ample set at state 13 fully expanded
[junit] ample set at state 14 fully expanded
[junit] ample set at state 15 fully expanded
[junit]
[junit] Violation 3 encountered at depth 8:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at loop.cvl:19.2-15 "$assert(g==1)":
[junit]
[junit] Assertion: $assert((g==1))
[junit] -> 2==1
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at loop.cvl:35.2-7 "$wait"
[junit] process p1 (id=1):
[junit] proc0 at loop.cvl:9.10-11 "1"
[junit] process p2 (id=2):
[junit] proc1 at loop.cvl:19.2-9 "$assert"
[junit] process p3 (id=3):
[junit] terminated
[junit]
[junit] New log entry is equivalent to previously encountered entry 1
[junit] Length of new trace (8) is greater than or equal to length of old (7): ignoring new trace.
[junit] Terminating search after finding 4 violations.
[junit]
[junit] === Command ===
[junit] civl verify -showAmpleSet -showTransitions=false -errorBound=4 examples/por/loop.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 4
[junit] states : 79
[junit] states saved : 16
[junit] state matches : 18
[junit] transitions : 97
[junit] trace steps : 33
[junit] valid calls : 13
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/loop_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 6:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at pointerShare1.cvl:18.2-18 "$assert((*p==0))":
[junit]
[junit] Assertion: $assert((*(p)==0))
[junit] -> *&<d0>x==0
[junit] -> 15==0
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerShare1.cvl:18.2-9 "$assert"
[junit] process p1 (id=1):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerShare1_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/pointerShare1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 2
[junit] states : 16
[junit] states saved : 10
[junit] state matches : 1
[junit] transitions : 17
[junit] trace steps : 10
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerShare1_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 8:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at pointerShare2.cvl:22.2-18 "$assert((*p==0))":
[junit]
[junit] Assertion: $assert((*(p)==0))
[junit] -> *&<d0>heap.malloc0[0][0]==0
[junit] -> 15==0
[junit] -> false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_INT+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at pointerShare2.cvl:22.2-9 "$assert"
[junit] process p1 (id=1):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/pointerShare2_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/pointerShare2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 2
[junit] states : 20
[junit] states saved : 14
[junit] state matches : 1
[junit] transitions : 21
[junit] trace steps : 13
[junit] valid calls : 6
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/pointerShare2_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ample processes at state 3: 0 1 2
[junit] ample processes at state 17: 0 1 2
[junit] ample processes at state 32: 0 1 2
[junit] ample processes at state 33: 0 1 2
[junit] ample processes at state 34: 0 1 2
[junit] ample processes at state 35: 0 1 2
[junit] ample processes at state 36: 0 1 2
[junit] ample processes at state 37: 0 1 2
[junit] ample processes at state 38: 0 1 2
[junit] ample processes at state 39: 0 1 2
[junit] ample processes at state 40: 0 1 2
[junit] ample processes at state 41: 0 1 2
[junit] ample processes at state 42: 1 2
[junit] ample processes at state 47: 0 2
[junit] ample processes at state 49: 0 1
[junit] ample processes at state 50: 0 2
[junit] ample processes at state 52: 0 1
[junit] ample processes at state 53: 0 1 2
[junit] ample processes at state 54: 0 1 2
[junit] ample processes at state 55: 0 1 2
[junit] ample processes at state 56: 1 2
[junit] ample processes at state 61: 1 2
[junit] ample processes at state 63: 0 2
[junit] ample processes at state 64: 0 2
[junit] ample processes at state 66: 0 1 2
[junit] ample processes at state 67: 0 1
[junit] ample processes at state 68: 0 2
[junit] ample processes at state 69: 0 2
[junit] ample processes at state 71: 0 1 2
[junit] ample processes at state 72: 0 1
[junit] ample processes at state 73: 0 1 2
[junit] ample processes at state 74: 0 1 2
[junit] ample processes at state 75: 1 2
[junit] ample processes at state 77: 0 1
[junit] ample processes at state 78: 0 1
[junit] ample processes at state 79: 0 1 2
[junit] ample processes at state 80: 0 1 2
[junit] ample processes at state 81: 0 1 2
[junit] ample processes at state 82: 0 1 2
[junit] ample processes at state 83: 0 1 2
[junit] ample processes at state 84: 0 1 2
[junit] ample processes at state 85: 0 1 2
[junit] ample processes at state 86: 0 1 2
[junit] ample processes at state 87: 0 1 2
[junit]
[junit] === Command ===
[junit] civl verify -showAmpleSet -showTransitions=false examples/por/loop2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 3
[junit] states : 131
[junit] states saved : 88
[junit] state matches : 71
[junit] transitions : 201
[junit] trace steps : 158
[junit] valid calls : 211
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ample set at state 15 fully expanded
[junit]
[junit] === Command ===
[junit] civl verify -showAmpleSet -showTransitions=false examples/por/loop3.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1501036544
[junit] max process count : 3
[junit] states : 29
[junit] states saved : 16
[junit] state matches : 2
[junit] transitions : 30
[junit] trace steps : 17
[junit] valid calls : 0
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 8:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at wait.cvl:13.2-19 "$assert((v == 0))":
[junit]
[junit] Assertion: $assert((v==0))
[junit] -> 1==0
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at wait.cvl:34.2-10 "$waitall"
[junit] process p1 (id=1):
[junit] f at wait.cvl:13.2-9 "$assert"
[junit] process p2 (id=2):
[junit] terminated
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/wait_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/por/wait.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1501036544
[junit] max process count : 4
[junit] states : 32
[junit] states saved : 16
[junit] state matches : 2
[junit] transitions : 34
[junit] trace steps : 17
[junit] valid calls : 133
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/wait_log.txt
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.PthreadTest
[junit] Tests run: 20, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 79.784 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/esbmc/stateful01_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.4
[junit] memory (bytes) : 1501036544
[junit] max process count : 3
[junit] states : 569
[junit] states saved : 253
[junit] state matches : 84
[junit] transitions : 652
[junit] trace steps : 336
[junit] valid calls : 1621
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 75:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] _CIVL_system at stateful01_false-unreach-call.c:50.11-27 "__VERIFIER_error"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/stateful01_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/esbmc/stateful01_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.41
[junit] memory (bytes) : 1501036544
[junit] max process count : 3
[junit] states : 144
[junit] states saved : 75
[junit] state matches : 0
[junit] transitions : 144
[junit] trace steps : 74
[junit] valid calls : 176
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/stateful01_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 50:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _svcomp_unsigned_bound=4
[junit] _svcomp_unpp_scale=3
[junit] _svcomp_unpp0_scale=3
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] (0==(0 == -1*Hop0s0f1o0[1]+-1*Hop0s0f1o0[0]+2) ? 1 : 1) && (0<=SIZEOF(struct pthread_t)+-1) && (0<=SIZEOF_INT+-1)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] __VERIFIER_assert at sigma_false-unreach-call.i:1212.67-83 "__VERIFIER_error" called from
[junit] _CIVL_system at sigma_false-unreach-call.i:1239.1-18 "__VERIFIER_assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/sigma_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/esbmc/sigma_false-unreach-call.i
[junit]
[junit] === Stats ===
[junit] time (s) : 31.72
[junit] memory (bytes) : 1496317952
[junit] max process count : 4
[junit] states : 116
[junit] states saved : 52
[junit] state matches : 0
[junit] transitions : 116
[junit] trace steps : 49
[junit] valid calls : 73
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/sigma_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] stack underflow
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 139:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] OVERFLOW=-1
[junit] UNDERFLOW=-2
[junit] FALSE=X0
[junit] TRUE=X1
[junit] SIZE=5
[junit] _svcomp_unsigned_bound=4
[junit] _svcomp0_int=X2
[junit] _svcomp_int_bound=5
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] 0<=-1*X2+5
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _CIVL_system at stack_false-unreach-call.c:116.2-14 "pthread_join"
[junit] process p1 (id=1):
[junit] $pthread_mutex_lock at pthread.cvl:833.2-9 "$choose" called from
[junit] t1 at stack_false-unreach-call.c:81.4-22 "pthread_mutex_lock"
[junit] process p2 (id=2):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] error at stack_false-unreach-call.c:20.9-25 "__VERIFIER_error" called from
[junit] t2 at stack_false-unreach-call.c:100.8-13 "error"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/stack_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputSIZE=5 -inputOVERFLOW=-1 -inputUNDERFLOW=-2 -input_svcomp_unsigned_bound=8 examples/pthread/esbmc/stack_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.77
[junit] memory (bytes) : 1496317952
[junit] max process count : 3
[junit] states : 1121
[junit] states saved : 508
[junit] state matches : 93
[junit] transitions : 1214
[junit] trace steps : 600
[junit] valid calls : 2679
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/stack_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -svcomp16 examples/pthread/esbmc/singleton_with-uninit-problems-true.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.82
[junit] memory (bytes) : 1496317952
[junit] max process count : 6
[junit] states : 314
[junit] states saved : 224
[junit] state matches : 20
[junit] transitions : 333
[junit] trace steps : 242
[junit] valid calls : 416
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] queue is empty
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputSIZE=50 -inputEMPTY=-1 -inputFULL=-2 examples/pthread/esbmc/queue_ok_longest_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.17
[junit] memory (bytes) : 1495269376
[junit] max process count : 3
[junit] states : 8062
[junit] states saved : 3931
[junit] state matches : 932
[junit] transitions : 8993
[junit] trace steps : 4862
[junit] valid calls : 11142
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputNUM=5 examples/pthread/esbmc/fib_bench_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.96
[junit] memory (bytes) : 1495269376
[junit] max process count : 3
[junit] states : 7130
[junit] states saved : 4223
[junit] state matches : 0
[junit] transitions : 7129
[junit] trace steps : 4222
[junit] valid calls : 7070
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] queue is empty
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 134:
[junit] CIVL execution violation in p2(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] FULL=-2
[junit] SIZE=5
[junit] EMPTY=-1
[junit] _svcomp_unsigned_bound=4
[junit] _svcomp0_int=X0
[junit] _svcomp1_int=X1
[junit] _svcomp_int_bound=5
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] (0==(0 == X1) ? 1 : 1) && (0<=-1*X0+5) && (0<=-1*X1+5)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _CIVL_system at queue_false-unreach-call.c:164.2-14 "pthread_join"
[junit] process p2 (id=1):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] t2 at queue_false-unreach-call.c:133.15-31 "__VERIFIER_error"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/queue_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputSIZE=5 -inputEMPTY=-1 -inputFULL=-2 examples/pthread/esbmc/queue_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.05
[junit] memory (bytes) : 1495269376
[junit] max process count : 3
[junit] states : 648
[junit] states saved : 314
[junit] state matches : 32
[junit] transitions : 680
[junit] trace steps : 345
[junit] valid calls : 1316
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 7
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/queue_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 47:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] NUM=5
[junit] _gen_argc=1
[junit] _gen_argv=(CHAR[10][])X0
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] _gen_main at fib_bench_false-unreach-call.c:42.11-27 "__VERIFIER_error" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before fib_bench_false-unreach-call.c:32.9-13 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/fib_bench_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputNUM=5 examples/pthread/esbmc/fib_bench_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.94
[junit] memory (bytes) : 1506279424
[junit] max process count : 3
[junit] states : 2259
[junit] states saved : 1316
[junit] state matches : 0
[junit] transitions : 2259
[junit] trace steps : 1315
[junit] valid calls : 2171
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/fib_bench_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 55:
[junit] CIVL execution violation in p3(id=3) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _gen_argc=1
[junit] _gen_argv=(CHAR[10][])X0
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_3)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _gen_main at reorder_2_false-unreach-call.c:54.24-36 "pthread_join" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before reorder_2_false-unreach-call.c:20.13-17 "argc"
[junit] process p1 (id=1):
[junit] setThread at reorder_2_false-unreach-call.c:72.4-5 "b"
[junit] process p2 (id=2):
[junit] setThread at reorder_2_false-unreach-call.c:72.4-5 "b"
[junit] process p3 (id=3):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] checkThread at reorder_2_false-unreach-call.c:80.12-28 "__VERIFIER_error"
[junit] process p4 (id=4):
[junit] checkThread at reorder_2_false-unreach-call.c:78.4-6 "if"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/reorder_2_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -debug=false -input_gen_argc=1 examples/pthread/esbmc/reorder_2_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.97
[junit] memory (bytes) : 1506279424
[junit] max process count : 5
[junit] states : 389
[junit] states saved : 264
[junit] state matches : 43
[junit] transitions : 432
[junit] trace steps : 306
[junit] valid calls : 2218
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/reorder_2_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -enablePrintf=false -svcomp16 examples/pthread/esbmc/bigshot_s_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.37
[junit] memory (bytes) : 1506279424
[junit] max process count : 2
[junit] states : 60
[junit] states saved : 32
[junit] state matches : 0
[junit] transitions : 59
[junit] trace steps : 30
[junit] valid calls : 42
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 71:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] 0<=SIZEOF_CHAR+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] __VERIFIER_assert at singleton_false-unreach-call.c:7.67-83 "__VERIFIER_error" called from
[junit] _CIVL_system at singleton_false-unreach-call.c:54.2-19 "__VERIFIER_assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/singleton_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/esbmc/singleton_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.79
[junit] memory (bytes) : 1506279424
[junit] max process count : 6
[junit] states : 200
[junit] states saved : 123
[junit] state matches : 2
[junit] transitions : 202
[junit] trace steps : 123
[junit] valid calls : 193
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/singleton_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 49:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] NUM=6
[junit] _gen_argc=1
[junit] _gen_argv=(CHAR[10][])X0
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] _gen_main at fib_bench_longer_false-unreach-call.c:42.11-27 "__VERIFIER_error" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before fib_bench_longer_false-unreach-call.c:32.9-13 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/fib_bench_longer_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputNUM=6 examples/pthread/esbmc/fib_bench_longer_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.99
[junit] memory (bytes) : 1410859008
[junit] max process count : 3
[junit] states : 8208
[junit] states saved : 4839
[junit] state matches : 0
[junit] transitions : 8208
[junit] trace steps : 4838
[junit] valid calls : 8051
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/fib_bench_longer_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //=============== indexer_true-unreach-call.c ==============
[junit] $input int MAX;
[junit] $input int NUM_THREADS;
[junit] $input int SIZE;
[junit] //==================== SvcompTransformer ===================
[junit] $input int _svcomp_unsigned_bound;
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] //======================== civlc.cvh =======================
[junit] typedef struct $proc $proc;
[junit] typedef struct $scope $scope;
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================= svcomp.cvl =======================
[junit] void __VERIFIER_error()
[junit] {
[junit] $assert($false, "__VERIFIER_error() is called.\n");
[junit] }
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] //======================== civlc.cvh =======================
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] //======================== civlc.cvh =======================
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================== pthread.h =======================
[junit] enum $anon_enum_1{
[junit] PTHREAD_MUTEX_NORMAL,
[junit] PTHREAD_MUTEX_RECURSIVE,
[junit] PTHREAD_MUTEX_ERRORCHECK
[junit] };
[junit] enum $anon_enum_2{
[junit] PTHREAD_MUTEX_STALLED,
[junit] PTHREAD_MUTEX_ROBUST
[junit] };
[junit] enum $anon_enum_3{
[junit] PTHREAD_CREATE_JOINABLE,
[junit] PTHREAD_CREATE_DETACHED
[junit] };
[junit] typedef struct pthread_mutexattr_t pthread_mutexattr_t;
[junit] typedef struct pthread_mutex_t pthread_mutex_t;
[junit] typedef struct pthread_attr_t pthread_attr_t;
[junit] typedef struct pthread_t pthread_t;
[junit] int pthread_mutex_init(pthread_mutex_t*, pthread_mutexattr_t*);
[junit] int pthread_mutex_destroy(pthread_mutex_t*);
[junit] int pthread_create(pthread_t*, pthread_attr_t*, (void* (void*))*, void*);
[junit] int pthread_join(pthread_t, void**);
[junit] int pthread_mutex_unlock(pthread_mutex_t*);
[junit] //==================== civl-pthread.cvh ====================
[junit] typedef struct _pthread_gpool_t* $pthread_gpool_t;
[junit] typedef struct _pthread_pool_t* $pthread_pool_t;
[junit] $pthread_gpool_t $pthread_gpool_create($scope scope);
[junit] void $pthread_gpool_add($pthread_gpool_t gpool, pthread_t* thread);
[junit] void $pthread_gpool_join($pthread_gpool_t gpool);
[junit] $pthread_pool_t $pthread_pool_create($scope scope, $pthread_gpool_t gpool);
[junit] _Bool $pthread_pool_is_terminated($pthread_pool_t pool, $proc pid);
[junit] void $pthread_exit(void* value_ptr, $pthread_pool_t $pthread_pool);
[junit] //======================= pthread.cvl ======================
[junit] struct pthread_mutexattr_t{
[junit] int robust;
[junit] int pshared;
[junit] int protocol;
[junit] int type;
[junit] int prioceiling;
[junit] }
[junit] struct pthread_mutex_t{
[junit] int count;
[junit] $proc ownerid;
[junit] int lock;
[junit] int prioceiling;
[junit] pthread_mutexattr_t attr;
[junit] }
[junit] struct pthread_attr_t{
[junit] int detachstate;
[junit] int inheritsched;
[junit] int contentionscope;
[junit] int schedpolicy;
[junit] }
[junit] struct pthread_t{
[junit] $proc thr;
[junit] pthread_attr_t attr;
[junit] _Bool terminated;
[junit] void** exitValue;
[junit] }
[junit] $pthread_gpool_t $pthread_gpool = $pthread_gpool_create($here);
[junit] int pthread_mutex_init(pthread_mutex_t* mutex, pthread_mutexattr_t* attr)
[junit] {
[junit] if(attr == (void*)0)
[junit] {
[junit] (mutex)->attr.robust = 0;
[junit] (mutex)->attr.pshared = 0;
[junit] (mutex)->attr.protocol = 0;
[junit] (mutex)->attr.type = PTHREAD_MUTEX_NORMAL;
[junit] (mutex)->attr.prioceiling = 0;
[junit] }
[junit] else
[junit] {
[junit] (mutex)->attr = *attr;
[junit] }
[junit] (mutex)->lock = 0;
[junit] (mutex)->count = 0;
[junit] (mutex)->ownerid = $proc_null;
[junit] return 0;
[junit] }
[junit] int pthread_mutex_destroy(pthread_mutex_t* mutex)
[junit] {
[junit] pthread_mutex_t blank;
[junit] *mutex = blank;
[junit] return 0;
[junit] }
[junit] int pthread_create(pthread_t* thread, pthread_attr_t* attr, (void* (void*))* start_routine, void* arg)
[junit] {
[junit] $atomic
[junit] {
[junit] (thread)->thr = $spawn start_routine(arg);
[junit] if(attr == (void*)0)
[junit] {
[junit] (thread)->attr.detachstate = PTHREAD_CREATE_JOINABLE;
[junit] (thread)->attr.inheritsched = 0;
[junit] (thread)->attr.contentionscope = 0;
[junit] (thread)->attr.schedpolicy = 0;
[junit] }
[junit] else
[junit] {
[junit] (thread)->attr = *attr;
[junit] }
[junit] (thread)->terminated = 0;
[junit] $pthread_gpool_add($pthread_gpool, thread);
[junit] }
[junit] return 0;
[junit] }
[junit] int pthread_join(pthread_t thread, void** value_ptr)
[junit] {
[junit] if((&(thread.attr)) != (void*)0)
[junit] {
[junit] if(thread.attr.detachstate == PTHREAD_CREATE_DETACHED)
[junit] {
[junit] $assert($false, "Thread is designated as unjoinable");
[junit] return 1;
[junit] }
[junit] }
[junit] $wait(thread.thr);
[junit] if(value_ptr != (void*)0)
[junit] *value_ptr = thread.exitValue;
[junit] return 0;
[junit] }
[junit] void $pthread_exit_main(void* value_ptr)
[junit] {
[junit] $pthread_gpool_join($pthread_gpool);
[junit] }
[junit] int $pthread_mutex_lock(pthread_mutex_t* mutex, $pthread_pool_t $pthread_pool)
[junit] {
[junit] _Bool tmp = $pthread_pool_is_terminated($pthread_pool, (mutex)->ownerid);
[junit] $choose{
[junit] $when((mutex)->lock == 0)
[junit] {
[junit] $atomic
[junit] {
[junit] (mutex)->ownerid = $self;
[junit] (mutex)->lock = 1;
[junit] (mutex)->count = 1;
[junit] }
[junit] return 0;
[junit] }
[junit] $when(((((mutex)->attr.type == PTHREAD_MUTEX_NORMAL) || ((mutex)->attr.type == PTHREAD_MUTEX_ERRORCHECK)) && ((mutex)->lock == 1)) && ((mutex)->ownerid == $self))
[junit] {
[junit] $assert($false, "Deadlock: attempted to relock lock");
[junit] return 0;
[junit] }
[junit] $when(((((mutex)->lock == 1) && ((mutex)->ownerid != $self)) && (tmp == $true)) && ((mutex)->attr.robust != PTHREAD_MUTEX_ROBUST))
[junit] {
[junit] $assert($false, "Deadlock: owner terminated without robust mutex");
[junit] return 0;
[junit] }
[junit] $when(((!(((mutex)->attr.type == PTHREAD_MUTEX_NORMAL) || ((mutex)->attr.type == PTHREAD_MUTEX_ERRORCHECK))) && ((mutex)->lock == 1)) && ((mutex)->ownerid == $self))
[junit] {
[junit] (mutex)->count = (mutex)->count + 1;
[junit] return 0;
[junit] }
[junit] }
[junit] return 0;
[junit] }
[junit] int pthread_mutex_unlock(pthread_mutex_t* mutex)
[junit] {
[junit] $atomic
[junit] {
[junit] if(((mutex)->attr.type == PTHREAD_MUTEX_NORMAL) || ((mutex)->attr.type == PTHREAD_MUTEX_ERRORCHECK))
[junit] {
[junit] if((mutex)->lock == 0)
[junit] {
[junit] $assert($false, "Attempting to unlock unlocked lock\n");
[junit] return 0;
[junit] }
[junit] else
[junit] {
[junit] (mutex)->lock = 0;
[junit] (mutex)->ownerid = $proc_null;
[junit] }
[junit] }
[junit] else
[junit] {
[junit] if((mutex)->ownerid == $self)
[junit] {
[junit] (mutex)->count = (mutex)->count - 1;
[junit] if((mutex)->count == 0)
[junit] {
[junit] (mutex)->lock = 0;
[junit] (mutex)->ownerid = $proc_null;
[junit] }
[junit] }
[junit] else
[junit] {
[junit] $assert($false);
[junit] return 0;
[junit] }
[junit] }
[junit] return 0;
[junit] }
[junit] }
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] //======================== civlc.cvh =======================
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] //======================== civlc.cvh =======================
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================== pthread.h =======================
[junit] int pthread_mutex_init(pthread_mutex_t*, pthread_mutexattr_t*);
[junit] int pthread_mutex_destroy(pthread_mutex_t*);
[junit] int pthread_create(pthread_t*, pthread_attr_t*, (void* (void*))*, void*);
[junit] int pthread_join(pthread_t, void**);
[junit] int pthread_mutex_unlock(pthread_mutex_t*);
[junit] //==================== civl-pthread.cvh ====================
[junit] $pthread_gpool_t $pthread_gpool_create($scope scope);
[junit] void $pthread_gpool_add($pthread_gpool_t gpool, pthread_t* thread);
[junit] void $pthread_gpool_join($pthread_gpool_t gpool);
[junit] $pthread_pool_t $pthread_pool_create($scope scope, $pthread_gpool_t gpool);
[junit] _Bool $pthread_pool_is_terminated($pthread_pool_t pool, $proc pid);
[junit] void $pthread_exit(void* value_ptr, $pthread_pool_t $pthread_pool);
[junit] //==================== civl-pthread.cvl ====================
[junit] struct _pthread_gpool_t{
[junit] pthread_t* threads[];
[junit] }
[junit] struct _pthread_pool_t{
[junit] $pthread_gpool_t gpool;
[junit] $proc tid;
[junit] pthread_t* thread;
[junit] }
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] //======================== civlc.cvh =======================
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================== svcomp.h ========================
[junit] void __VERIFIER_error(void);
[junit] void __VERIFIER_error(void);
[junit] //=============== indexer_true-unreach-call.c ==============
[junit] void __VERIFIER_error();
[junit] //======================== civlc.cvh =======================
[junit] void $wait($proc p);
[junit] void $assert(_Bool expr, ...);
[junit] //======================== pthread.h =======================
[junit] int pthread_mutex_init(pthread_mutex_t*, pthread_mutexattr_t*);
[junit] int pthread_mutex_destroy(pthread_mutex_t*);
[junit] int pthread_create(pthread_t*, pthread_attr_t*, (void* (void*))*, void*);
[junit] int pthread_join(pthread_t, void**);
[junit] int pthread_mutex_unlock(pthread_mutex_t*);
[junit] //=============== indexer_true-unreach-call.c ==============
[junit] int table[SIZE];
[junit] pthread_mutex_t cas_mutex[SIZE];
[junit] pthread_t tids[NUM_THREADS];
[junit] int cas(int* tab, int h, int val, int new_val, $pthread_pool_t _pthread_pool)
[junit] {
[junit] int ret_val = 0;
[junit] $pthread_mutex_lock(&(cas_mutex[h]), _pthread_pool);
[junit] if((tab[h]) == val)
[junit] {
[junit] tab[h] = new_val;
[junit] ret_val = 1;
[junit] }
[junit] pthread_mutex_unlock(&(cas_mutex[h]));
[junit] return ret_val;
[junit] }
[junit] void* thread_routine(void* arg)
[junit] {
[junit] $pthread_pool_t _pthread_pool = $pthread_pool_create($here, $pthread_gpool);
[junit] {
[junit] int tid;
[junit] int m = 0;
[junit] int w;
[junit] int h;
[junit] tid = *(int*)arg;
[junit] while(1)
[junit] {
[junit] if(m < MAX)
[junit] {
[junit] m = m + 1;
[junit] w = (m * 11) + tid;
[junit] }
[junit] else
[junit] {
[junit] $pthread_exit((void*)0, _pthread_pool);
[junit] }
[junit] h = (w * 7) % SIZE;
[junit] if(h < 0)
[junit] {
[junit] ERROR:
[junit] __VERIFIER_error();
[junit] ;
[junit] }
[junit] while(1)
[junit] {
[junit] int $sef$0 = cas(table, h, 0, w, _pthread_pool);
[junit] if(!($sef$0 == 0))
[junit] break;
[junit] h = (h + 1) % SIZE;
[junit] }
[junit] }
[junit] }
[junit] $pthread_exit((void*)0, _pthread_pool);
[junit] }
[junit] int main()
[junit] {
[junit] int i;
[junit] int arg;
[junit] for(i = 0; i < SIZE; i = i + 1)
[junit] pthread_mutex_init(&(cas_mutex[i]), (void*)0);
[junit] for(i = 0; i < NUM_THREADS; i = i + 1)
[junit] {
[junit] arg = i;
[junit] pthread_create(&(tids[i]), (void*)0, thread_routine, &(arg));
[junit] }
[junit] for(i = 0; i < NUM_THREADS; i = i + 1)
[junit] {
[junit] pthread_join(tids[i], (void*)0);
[junit] }
[junit] for(i = 0; i < SIZE; i = i + 1)
[junit] {
[junit] pthread_mutex_destroy(&(cas_mutex[i]));
[junit] }
[junit] $pthread_exit_main((void*)0);
[junit] }
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -showProgram -inputSIZE=2 -inputMAX=4 -inputNUM_THREADS=2 examples/pthread/esbmc/indexer_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.93
[junit] memory (bytes) : 1422393344
[junit] max process count : 3
[junit] states : 22583
[junit] states saved : 8417
[junit] state matches : 4937
[junit] transitions : 27519
[junit] trace steps : 13353
[junit] valid calls : 44558
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 58:
[junit] CIVL execution violation in p3(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _CIVL_system at lazy01_false-unreach-call.c:48.2-14 "pthread_join"
[junit] process p3 (id=1):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] thread3 at lazy01_false-unreach-call.c:29.11-27 "__VERIFIER_error"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/lazy01_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/esbmc/lazy01_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.56
[junit] memory (bytes) : 1422393344
[junit] max process count : 4
[junit] states : 120
[junit] states saved : 58
[junit] state matches : 0
[junit] transitions : 120
[junit] trace steps : 57
[junit] valid calls : 142
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/lazy01_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -inputSIZE=5 -inputOVERFLOW=-1 -inputUNDERFLOW=-2 -input_svcomp_unsigned_bound=8 examples/pthread/esbmc/stack_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.1
[junit] memory (bytes) : 1416626176
[junit] max process count : 3
[junit] states : 15993
[junit] states saved : 6626
[junit] state matches : 3236
[junit] transitions : 19228
[junit] trace steps : 9861
[junit] valid calls : 52510
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 100:
[junit] CIVL execution violation in p3(id=3) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _gen_argc=1
[junit] _gen_argv=(CHAR[10][])X0
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_3)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] 0<=SIZEOF(struct pthread_mutex_t)+-1
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _gen_main at twostage_3_false-unreach-call.c:99.24-36 "pthread_join" called from
[junit] _CIVL_system at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before twostage_3_false-unreach-call.c:57.13-17 "argc"
[junit] process p1 (id=1):
[junit] $pthread_mutex_lock at pthread.cvl:833.2-9 "$choose" called from
[junit] funcA at twostage_3_false-unreach-call.c:25.4-22 "pthread_mutex_lock"
[junit] process p2 (id=2):
[junit] $pthread_mutex_lock at pthread.cvl:833.2-9 "$choose" called from
[junit] funcA at twostage_3_false-unreach-call.c:25.4-22 "pthread_mutex_lock"
[junit] process p3 (id=3):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] funcB at twostage_3_false-unreach-call.c:50.8-24 "__VERIFIER_error"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/twostage_3_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -input_gen_argc=1 examples/pthread/esbmc/twostage_3_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.43
[junit] memory (bytes) : 1388314624
[junit] max process count : 4
[junit] states : 4174
[junit] states saved : 1927
[junit] state matches : 729
[junit] transitions : 4903
[junit] trace steps : 2653
[junit] valid calls : 9792
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/twostage_3_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/esbmc/sync01_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.43
[junit] memory (bytes) : 1388314624
[junit] max process count : 3
[junit] states : 341
[junit] states saved : 179
[junit] state matches : 44
[junit] transitions : 384
[junit] trace steps : 222
[junit] valid calls : 721
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] ------------- Standard Error -----------------
[junit] Bug found!
[junit] Command line sytax error
[junit] Type "civl help" for command line syntax.
[junit] Bug found!
[junit] ------------- ---------------- ---------------
[junit] Testcase: reorder_5_false(edu.udel.cis.vsl.civl.PthreadTest):SKIPPED
[junit] Testsuite: edu.udel.cis.vsl.civl.PthreadThreaderTest
[junit] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.256 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -showProgram=false examples/pthread/threader/dekker_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.4
[junit] memory (bytes) : 1380450304
[junit] max process count : 3
[junit] states : 189
[junit] states saved : 148
[junit] state matches : 45
[junit] transitions : 233
[junit] trace steps : 192
[junit] valid calls : 127
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/threader/peterson_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.4
[junit] memory (bytes) : 1380450304
[junit] max process count : 3
[junit] states : 141
[junit] states saved : 99
[junit] state matches : 27
[junit] transitions : 167
[junit] trace steps : 125
[junit] valid calls : 210
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 57:
[junit] CIVL execution violation in p2(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _svcomp_unsigned_bound=4
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] true
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _CIVL_system at read_write_lock_false-unreach-call.c:51.2-14 "pthread_join"
[junit] process p2 (id=1):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] reader at read_write_lock_false-unreach-call.c:12.35-51 "__VERIFIER_error" from read_write_lock_false-unreach-call.c:37.2-8 "assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/read_write_lock_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/threader/read_write_lock_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.43
[junit] memory (bytes) : 1380450304
[junit] max process count : 5
[junit] states : 2237
[junit] states saved : 1048
[junit] state matches : 464
[junit] transitions : 2701
[junit] trace steps : 1511
[junit] valid calls : 1319
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/read_write_lock_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 -showProgram=false examples/pthread/threader/read_write_lock_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.51
[junit] memory (bytes) : 1363148800
[junit] max process count : 5
[junit] states : 2770
[junit] states saved : 822
[junit] state matches : 551
[junit] transitions : 3320
[junit] trace steps : 1372
[junit] valid calls : 829
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] __VERIFIER_error() is called.
[junit]
[junit]
[junit] Violation 0 encountered at depth 61:
[junit] CIVL execution violation in p3(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at svcomp.cvl:32.2-52 "$assert($false, "__VERIFIER_error() is called.\n")":
[junit]
[junit] Input variables:
[junit] _svcomp_unsigned_bound=4
[junit] _svcomp0_int=0
[junit] _svcomp1_int=X1
[junit] _svcomp2_int=X2
[junit] _svcomp3_int=X3
[junit] _svcomp4_int=X4
[junit] _svcomp5_int=X5
[junit] _svcomp6_int=X6
[junit] _svcomp7_int=X7
[junit] _svcomp8_int=X8
[junit] _svcomp9_int=X9
[junit] _svcomp_int_bound=5
[junit] Assertion: $assert(false, &((_anon_0)[0]))
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=-1*X1+5) && (0<=-1*X2+5) && (0<=-1*X3+5) && (0<=-1*X4+5) && (0<=-1*X5+5) && (0<=-1*X6+5) && (0<=-1*X7+5) && (0<=-1*X8+5) && (0<=-1*X9+5) && (0!=(0 == -1*X7+1) ? 1 : 1) && (0!=X1) && (0!=X2) && (0!=X4) && (0!=X8) && (0!=X9)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] pthread_join at pthread.cvl:761.2-7 "$wait" called from
[junit] _CIVL_system at qrcu_false-unreach-call.c:138.2-14 "pthread_join"
[junit] process p2 (id=1):
[junit] qrcu_reader2 at qrcu_false-unreach-call.c:104.2-17 "readerprogress2"
[junit] process p3 (id=2):
[junit] __VERIFIER_error at svcomp.cvl:32.2-9 "$assert" called from
[junit] __VERIFIER_atomic_check_progress2 at qrcu_false-unreach-call.c:13.35-51 "__VERIFIER_error" from qrcu_false-unreach-call.c:61.4-10 "assert" called from
[junit] qrcu_updater at qrcu_false-unreach-call.c:127.2-35 "__VERIFIER_atomic_check_progress2"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/qrcu_false-unreach-call_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/threader/qrcu_false-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 4.17
[junit] memory (bytes) : 1363148800
[junit] max process count : 4
[junit] states : 1391
[junit] states saved : 728
[junit] state matches : 157
[junit] transitions : 1549
[junit] trace steps : 864
[junit] valid calls : 1365
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 30
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/qrcu_false-unreach-call_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/threader/szymanski_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.5
[junit] memory (bytes) : 1387790336
[junit] max process count : 3
[junit] states : 209
[junit] states saved : 140
[junit] state matches : 69
[junit] transitions : 277
[junit] trace steps : 208
[junit] valid calls : 117
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/threader/lamport_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.37
[junit] memory (bytes) : 1387790336
[junit] max process count : 3
[junit] states : 710
[junit] states saved : 611
[junit] state matches : 225
[junit] transitions : 934
[junit] trace steps : 835
[junit] valid calls : 470
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -svcomp16 examples/pthread/threader/time_var_mutex_true-unreach-call.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.47
[junit] memory (bytes) : 1387790336
[junit] max process count : 3
[junit] states : 527
[junit] states saved : 247
[junit] state matches : 80
[junit] transitions : 606
[junit] trace steps : 326
[junit] valid calls : 1168
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.ReasoningTest
[junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.113 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 3:
[junit] CIVL execution violation in p0(id=0) (kind: ASSERTION_VIOLATION, certainty: MAYBE)
[junit] at evaluatePc.cvl:21.2-17 "$assert($false)":
[junit]
[junit] Input variables:
[junit] a=(real[6])X0
[junit] Assertion: $assert(false)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<-1*(X0[1]*X0[3])+X0[1]*X0[5]+X0[2]*X0[3]+-1*(X0[2]*X0[4])+X0[4]*X0[0]+-1*(X0[5]*X0[0])) && (0!=X0[1]*X0[3]+-1*(X0[1]*X0[5])+-1*(X0[2]*X0[3])+X0[2]*X0[4]+-1*(X0[4]*X0[0])+X0[5]*X0[0])
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at evaluatePc.cvl:21.2-9 "$assert"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/evaluatePc_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify examples/reasoning/evaluatePc.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.05
[junit] memory (bytes) : 1387790336
[junit] max process count : 1
[junit] states : 13
[junit] states saved : 3
[junit] state matches : 0
[junit] transitions : 14
[junit] trace steps : 2
[junit] valid calls : 28
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 3
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/evaluatePc_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/reasoning/neqZero.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1387790336
[junit] max process count : 1
[junit] states : 8
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 7
[junit] trace steps : 3
[junit] valid calls : 27
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.ShowStatesTest
[junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] State 1
[junit] | Path condition
[junit] | | (0<=X0+-1*X1+-1) && (0<=X1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | N = X0
[junit] | | | | K = X1
[junit] | | dyscope d1 (id=1, parent=d0, static=3)
[junit] | | | variables
[junit] | | | | A = (Line[X0])X_s1v1p0
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=7, symbolicArrayWrite.cvl:22.2-6 "A[K]", dyscope=d1]
[junit]
[junit] State 2
[junit] | Path condition
[junit] | | (0<=X0+-1*X1+-1) && (0<=X1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | N = X0
[junit] | | | | K = X1
[junit] | | dyscope d1 (id=1, parent=d0, static=3)
[junit] | | | variables
[junit] | | | | A = (Line[X0])(X_s1v1p0){
[junit] | | | | | [X1]=(Line){
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=8, symbolicArrayWrite.cvl:23.2-9 "$assert", dyscope=d1]
[junit]
[junit] State 3
[junit] | Path condition
[junit] | | (0<=X0+-1*X1+-1) && (0<=X1)
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | | | N = X0
[junit] | | | | K = X1
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit]
[junit] === Command ===
[junit] civl verify -showSavedStates examples/showStates/symbolicArrayWrite.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1387790336
[junit] max process count : 1
[junit] states : 11
[junit] states saved : 4
[junit] state matches : 0
[junit] transitions : 10
[junit] trace steps : 3
[junit] valid calls : 6
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 4
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] State 1
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | dyscope d1 (id=1, parent=d0, static=1)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point){.x=2, .y=2}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end={.x=2, .y=2}}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start={.x=2, .y=2},
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])X_s1v7p0
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=7, structsArray.cvl:16.2-10 "lines[0]", dyscope=d1]
[junit]
[junit] State 2
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | dyscope d1 (id=1, parent=d0, static=1)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point){.x=2, .y=2}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end={.x=2, .y=2}}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start={.x=2, .y=2},
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(X_s1v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}}}
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=8, structsArray.cvl:17.2-10 "lines[1]", dyscope=d1]
[junit]
[junit] State 3
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | | dyscope d1 (id=1, parent=d0, static=1)
[junit] | | | variables
[junit] | | | | p0 = (Point){.x=0, .y=0}
[junit] | | | | p1 = (Point){.x=1, .y=1}
[junit] | | | | p2 = (Point){.x=2, .y=2}
[junit] | | | | l0 = (Line){
[junit] | | | | | .start={.x=0, .y=0},
[junit] | | | | | .end={.x=1, .y=1}}
[junit] | | | | l1 = (Line){
[junit] | | | | | .start={.x=1, .y=1},
[junit] | | | | | .end={.x=2, .y=2}}
[junit] | | | | l2 = (Line){
[junit] | | | | | .start={.x=2, .y=2},
[junit] | | | | | .end={.x=0, .y=0}}
[junit] | | | | lines = (Line[3])(X_s1v7p0){
[junit] | | | | | [0]={
[junit] | | | | | | .start={.x=0, .y=0},
[junit] | | | | | | .end={.x=1, .y=1}},
[junit] | | | | | [1]={
[junit] | | | | | | .start={.x=1, .y=1},
[junit] | | | | | | .end={.x=2, .y=2}}}
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit] | | | | Frame[function=_CIVL_system, location=9, structsArray.cvl:18.2-10 "lines[2]", dyscope=d1]
[junit]
[junit] State 4
[junit] | Path condition
[junit] | | true
[junit] | Dynamic scopes
[junit] | | dyscope d0 (id=0, parent=NULL, static=0)
[junit] | | | variables
[junit] | Process states
[junit] | | process p0(id=0)
[junit] | | | call stack
[junit]
[junit] === Command ===
[junit] civl verify -showSavedStates examples/showStates/structsArray.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1387790336
[junit] max process count : 1
[junit] states : 12
[junit] states saved : 5
[junit] state matches : 0
[junit] transitions : 11
[junit] trace steps : 4
[junit] valid calls : 3
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.SideEffectsTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] ===================The program after linking and applying transformer is:===================
[junit] //======================== civlc.cvh =======================
[junit] void $assert(_Bool expr, ...);
[junit] void $assert(_Bool expr, ...);
[junit] //====================== postIncr.cvl ======================
[junit] $input int N = 5;
[junit] int counter = 0;
[junit] int incrCounter()
[junit] {
[junit] int $sef$0 = counter;
[junit] counter = counter + 1;
[junit] return $sef$0;
[junit] }
[junit] int main()
[junit] {
[junit] int i = 0;
[junit] for(; i < N; i = i + 1)
[junit] {
[junit] int count = incrCounter();
[junit] $assert(i == count);
[junit] }
[junit] }
[junit]
[junit]
[junit] === Command ===
[junit] civl verify -showProgram examples/sideEffects/postIncr.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1387790336
[junit] max process count : 1
[junit] states : 41
[junit] states saved : 12
[junit] state matches : 0
[junit] transitions : 40
[junit] trace steps : 11
[junit] valid calls : 5
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testsuite: edu.udel.cis.vsl.civl.SimpleMPITest
[junit] Tests run: 21, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 34.946 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/simple/simpleMPI.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.49
[junit] memory (bytes) : 1387790336
[junit] max process count : 3
[junit] states : 149
[junit] states saved : 74
[junit] state matches : 0
[junit] transitions : 146
[junit] trace steps : 71
[junit] valid calls : 653
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/simple/anysource.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.47
[junit] memory (bytes) : 1387790336
[junit] max process count : 3
[junit] states : 156
[junit] states saved : 83
[junit] state matches : 0
[junit] transitions : 153
[junit] trace steps : 80
[junit] valid calls : 632
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/gather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.65
[junit] memory (bytes) : 1396178944
[junit] max process count : 6
[junit] states : 1057
[junit] states saved : 596
[junit] state matches : 0
[junit] transitions : 1051
[junit] trace steps : 571
[junit] valid calls : 16393
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/reduce_max.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.6
[junit] memory (bytes) : 1264582656
[junit] max process count : 6
[junit] states : 912
[junit] states saved : 410
[junit] state matches : 0
[junit] transitions : 910
[junit] trace steps : 399
[junit] valid calls : 9064
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/bcastgather1.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.76
[junit] memory (bytes) : 1381498880
[junit] max process count : 6
[junit] states : 1180
[junit] states saved : 710
[junit] state matches : 0
[junit] transitions : 1170
[junit] trace steps : 672
[junit] valid calls : 9628
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Bcast routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 131:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:133.2-135.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Bcast routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X0
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=X0+-5)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_bcast at civl-mpi.cvl:276.4-24 "$mpi_collective_recv" called from
[junit] MPI_Bcast at mpi.cvl:136.2-12 "$mpi_bcast" called from
[junit] _gen_main at ooobcast.c:21.4-13 "MPI_Bcast" called from
[junit] _mpi_process at MPITransformer:0.-1 "" inserted by MPITransformer.new main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p2 (id=2):
[junit] MPI_Bcast at mpi.cvl:133.2-9 "$assert" called from
[junit] _gen_main at ooobcast.c:23.4-13 "MPI_Bcast" called from
[junit] _mpi_process at MPITransformer:0.-1 "" inserted by MPITransformer.new main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/ooobcast_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/ooobcast.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.61
[junit] memory (bytes) : 1379926016
[junit] max process count : 6
[junit] states : 252
[junit] states saved : 138
[junit] state matches : 0
[junit] transitions : 250
[junit] trace steps : 130
[junit] valid calls : 777
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/ooobcast_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] MPI_Comm_rank() cannot be invoked without MPI_Init() being called before.
[junit]
[junit]
[junit] Violation 0 encountered at depth 10:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:58.2-59.56 "$assert(curr_status == __INIT, ... )":
[junit]
[junit] Input variables:
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X0
[junit] Assertion: $assert((curr_status==1), &((_anon_0)[0]))
[junit] -> 0==1
[junit] -> false
[junit]
[junit] Context:
[junit] 0<=X0+-5
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] MPI_Comm_rank at mpi.cvl:58.2-9 "$assert" called from
[junit] _gen_main at noInit.c:6.1-14 "MPI_Comm_rank" called from
[junit] _mpi_process at MPITransformer:0.-1 "" inserted by MPITransformer.new main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/noInit_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/noInit.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.99
[junit] memory (bytes) : 1566048256
[junit] max process count : 6
[junit] states : 30
[junit] states saved : 10
[junit] state matches : 0
[junit] transitions : 29
[junit] trace steps : 9
[junit] valid calls : 38
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/noInit_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/bcast_int.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.58
[junit] memory (bytes) : 1566048256
[junit] max process count : 6
[junit] states : 906
[junit] states saved : 497
[junit] state matches : 0
[junit] transitions : 896
[junit] trace steps : 470
[junit] valid calls : 9293
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/reduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.58
[junit] memory (bytes) : 1569718272
[junit] max process count : 6
[junit] states : 912
[junit] states saved : 410
[junit] state matches : 0
[junit] transitions : 910
[junit] trace steps : 399
[junit] valid calls : 9074
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process with rank 1 is calling an possibly inconsistent MPI_Gather routine with at least one of other processes.
[junit]
[junit]
[junit] Violation 0 encountered at depth 103:
[junit] CIVL execution violation in p2(id=2) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at mpi.cvl:241.2-243.46 "$assert(checkPassed, "Process with rank %d is calling an possibly inconsistent MPI_Gather routine with at least one of other processes.\n", place)":
[junit]
[junit] Input variables:
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X0
[junit] Assertion: $assert(checkPassed, &((_anon_1)[0]), place)
[junit] -> false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=X0+-5)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] MPI_Gather at mpi.cvl:244.2-13 "$mpi_gather" called from
[junit] _gen_main at ooogather.c:22.4-14 "MPI_Gather" called from
[junit] _mpi_process at MPITransformer:0.-1 "" inserted by MPITransformer.new main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p2 (id=2):
[junit] MPI_Gather at mpi.cvl:241.2-9 "$assert" called from
[junit] _gen_main at ooogather.c:25.4-14 "MPI_Gather" called from
[junit] _mpi_process at MPITransformer:0.-1 "" inserted by MPITransformer.new main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/ooogather_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/ooogather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.6
[junit] memory (bytes) : 1570766848
[junit] max process count : 6
[junit] states : 185
[junit] states saved : 110
[junit] state matches : 0
[junit] transitions : 183
[junit] trace steps : 102
[junit] valid calls : 684
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/ooogather_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 548:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>":
[junit] A deadlock is possible:
[junit] Path condition: (0 <= SIZEOF_INT+-1) && (0 <= SIZEOF_REAL+-1) && (0 <= -1*X0+9) && (0 <= X0+-1) && (0 <= X2+-6)
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): false
[junit] process p2 (id=2): false
[junit] process p3 (id=3): false
[junit] process p4 (id=4): false
[junit] process p5 (id=5): false
[junit] process p6 (id=6): false
[junit]
[junit] Context:
[junit] (0<=SIZEOF_INT+-1) && (0<=SIZEOF_REAL+-1) && (0<=-1*X0+9) && (0<=X0+-1) && (0<=X2+-6)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_collective_recv at civl-mpi.cvl:248.18-31 "$comm_dequeue" called from
[junit] $mpi_gather at civl-mpi.cvl:357.1-21 "$mpi_collective_recv" called from
[junit] $mpi_comm_free at civl-mpi.cvl:562.2-13 "$mpi_gather" called from
[junit] MPI_Comm_free at mpi.cvl:519.2-16 "$mpi_comm_free" called from
[junit] _gen_main at commDupBad.c:22.2-15 "MPI_Comm_free" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before commDupBad.c:6.13-17 "argc"
[junit] process p2 (id=2):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at commDupBad.c:21.4-12 "MPI_Recv" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before commDupBad.c:6.13-17 "argc"
[junit] process p3 (id=3):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at commDupBad.c:21.4-12 "MPI_Recv" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before commDupBad.c:6.13-17 "argc"
[junit] process p4 (id=4):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at commDupBad.c:21.4-12 "MPI_Recv" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before commDupBad.c:6.13-17 "argc"
[junit] process p5 (id=5):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at commDupBad.c:21.4-12 "MPI_Recv" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before commDupBad.c:6.13-17 "argc"
[junit] process p6 (id=6):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at commDupBad.c:21.4-12 "MPI_Recv" called from
[junit] _mpi_process at GeneralTransformer:0.-1-20 "_gen_argc, &(_gen_..." inserted by GeneralTransformer.new main function before commDupBad.c:6.13-17 "argc"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/commDupBad_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -showAmpleSet -input_mpi_nprocs=6 examples/mpi/simple/commDupBad.c
[junit]
[junit] === Stats ===
[junit] time (s) : 2.44
[junit] memory (bytes) : 1574436864
[junit] max process count : 7
[junit] states : 1086
[junit] states saved : 566
[junit] state matches : 0
[junit] transitions : 1073
[junit] trace steps : 547
[junit] valid calls : 3497
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/commDupBad_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/bcast.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.61
[junit] memory (bytes) : 1579679744
[junit] max process count : 6
[junit] states : 906
[junit] states saved : 513
[junit] state matches : 0
[junit] transitions : 896
[junit] trace steps : 486
[junit] valid calls : 9369
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/simple/count.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.52
[junit] memory (bytes) : 1581252608
[junit] max process count : 3
[junit] states : 171
[junit] states saved : 94
[junit] state matches : 0
[junit] transitions : 168
[junit] trace steps : 90
[junit] valid calls : 943
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/allgather.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.96
[junit] memory (bytes) : 1578631168
[junit] max process count : 6
[junit] states : 1854
[junit] states saved : 1117
[junit] state matches : 0
[junit] transitions : 1844
[junit] trace steps : 1080
[junit] valid calls : 19208
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/allreduce.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.74
[junit] memory (bytes) : 1581776896
[junit] max process count : 6
[junit] states : 1231
[junit] states saved : 564
[junit] state matches : 0
[junit] transitions : 1225
[junit] trace steps : 545
[junit] valid calls : 8177
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] Process terminates without calling MPI_Finalize() first.
[junit]
[junit] Violation 0 encountered at depth 17:
[junit] CIVL execution violation in p1(id=1) (kind: ASSERTION_VIOLATION, certainty: PROVEABLE)
[junit] at civl-mpi.cvl:101.4-102.37 "$assert(curr_status == __FINALIZED, ... )":
[junit]
[junit] Input variables:
[junit] _mpi_nprocs=5
[junit] _mpi_nprocs_lo=1
[junit] _mpi_nprocs_hi=X0
[junit] Assertion: $assert((curr_status==2), &((_anon_1)[0]))
[junit] -> 1==2
[junit] -> false
[junit]
[junit] Context:
[junit] 0<=X0+-5
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] $mpi_comm_destroy at civl-mpi.cvl:101.4-11 "$assert" called from
[junit] _mpi_process at MPITransformer:0.-1-14 "MPI_COMM_WORLD\n" inserted by MPITransformer.function call $mpi_comm_destroy before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p2 (id=2):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p3 (id=3):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p4 (id=4):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p5 (id=5):
[junit] _mpi_process at MPITransformer:0.-1-20 "$mpi_sys_status _m..." inserted by MPITransformer.variable declaration of _mpi_status before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/noFinalize_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/noFinalize.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.51
[junit] memory (bytes) : 1585971200
[junit] max process count : 6
[junit] states : 42
[junit] states saved : 17
[junit] state matches : 0
[junit] transitions : 41
[junit] trace steps : 16
[junit] valid calls : 69
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/noFinalize_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 56:
[junit] CIVL execution violation in p0(id=0) (kind: COMMUNICATION, certainty: PROVEABLE)
[junit] at civl-mpi.cvl:79.2-24 "$gcomm_destroy(gc.p2p)":
[junit] Communicator memory leak: There is at least one message still remaining in channel[0][0] of the communicator referenced by (gc).0 when the commmunicator is going to be destroyed.
[junit] Claim: false
[junit]
[junit]
[junit] Context:
[junit] (0<=SIZEOF_REAL+-1) && (0<=X0+-2)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] $mpi_gcomm_destroy at civl-mpi.cvl:79.2-16 "$gcomm_destroy" called from
[junit] _CIVL_system at MPITransformer:0.-1-10 "_mpi_gcomm\n" inserted by MPITransformer.function call $mpi_gcomm_destroy before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/unreceived_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/simple/unreceived.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.54
[junit] memory (bytes) : 1592262656
[junit] max process count : 3
[junit] states : 116
[junit] states saved : 57
[junit] state matches : 0
[junit] transitions : 115
[junit] trace steps : 55
[junit] valid calls : 413
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/unreceived_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -showAmpleSet -input_mpi_nprocs=6 examples/mpi/simple/commDup.c
[junit]
[junit] === Stats ===
[junit] time (s) : 3.06
[junit] memory (bytes) : 1596456960
[junit] max process count : 7
[junit] states : 2270
[junit] states saved : 1246
[junit] state matches : 0
[junit] transitions : 2253
[junit] trace steps : 1185
[junit] valid calls : 11469
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 5
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] Violation 0 encountered at depth 71:
[junit] CIVL execution violation (kind: DEADLOCK, certainty: PROVEABLE)
[junit] at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>":
[junit] A deadlock is possible:
[junit] Path condition: (0 <= SIZEOF(dynamicType<256>)+-1) && (0 <= SIZEOF_REAL+-1) && (0 <= X0+-2)
[junit] Enabling predicate: false
[junit] process p0 (id=0): false
[junit] process p1 (id=1): terminated
[junit] process p2 (id=2): false
[junit]
[junit] Context:
[junit] (0<=SIZEOF(struct Entries)+-1) && (0<=SIZEOF_REAL+-1) && (0<=X0+-2)
[junit]
[junit] Call stacks:
[junit] process p0 (id=0):
[junit] _CIVL_system at MPITransformer:0.-1-20 "$parfor(int i: 0 ...." inserted by MPITransformer.$parfor MPI_Process before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit] process p1 (id=1):
[junit] terminated
[junit] process p2 (id=2):
[junit] $mpi_recv at civl-mpi.cvl:162.9-22 "$comm_dequeue" called from
[junit] MPI_Recv at mpi.cvl:83.9-18 "$mpi_recv" called from
[junit] _gen_main at noninterference.c:18.4-12 "MPI_Recv" called from
[junit] _mpi_process at MPITransformer:0.-1 "" inserted by MPITransformer.new main function before op.h:21.1-10 "Operation" included from civlc.cvh:11.9-15 "<op.h>" included from mpi.cvl:4.9-20 "<civlc.cvh>"
[junit]
[junit] Logging new entry 0, writing trace to CIVLREP/noninterference_0.trace
[junit] Terminating search after finding 1 violation.
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=2 examples/mpi/simple/noninterference.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.48
[junit] memory (bytes) : 1596456960
[junit] max process count : 3
[junit] states : 148
[junit] states saved : 73
[junit] state matches : 0
[junit] transitions : 145
[junit] trace steps : 70
[junit] valid calls : 501
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The program MAY NOT be correct. See CIVLREP/noninterference_log.txt
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify -input_mpi_nprocs=5 examples/mpi/simple/scatter.c
[junit]
[junit] === Stats ===
[junit] time (s) : 1.78
[junit] memory (bytes) : 1601699840
[junit] max process count : 6
[junit] states : 1061
[junit] states saved : 601
[junit] state matches : 0
[junit] transitions : 1055
[junit] trace steps : 576
[junit] valid calls : 9534
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 2
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] Testcase: goodInitFinalize(edu.udel.cis.vsl.civl.SimpleMPITest):SKIPPED
[junit] Testsuite: edu.udel.cis.vsl.civl.SpecialStatementsTest
[junit] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.096 sec
[junit]
[junit] ------------- Standard Output ---------------
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/specialStatements/when1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1601699840
[junit] max process count : 1
[junit] states : 7
[junit] states saved : 2
[junit] state matches : 0
[junit] transitions : 6
[junit] trace steps : 1
[junit] valid calls : 4
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/specialStatements/when2.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.01
[junit] memory (bytes) : 1601699840
[junit] max process count : 1
[junit] states : 69
[junit] states saved : 13
[junit] state matches : 0
[junit] transitions : 68
[junit] trace steps : 12
[junit] valid calls : 84
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/specialStatements/when3.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.02
[junit] memory (bytes) : 1601699840
[junit] max process count : 1
[junit] states : 11
[junit] states saved : 4
[junit] state matches : 1
[junit] transitions : 11
[junit] trace steps : 4
[junit] valid calls : 7
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 0
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] CIVL v1.5 of 2015-10-31 -- http://vsl.cis.udel.edu/civl
[junit]
[junit] === Command ===
[junit] civl verify examples/specialStatements/choose1.cvl
[junit]
[junit] === Stats ===
[junit] time (s) : 0.03
[junit] memory (bytes) : 1601699840
[junit] max process count : 1
[junit] states : 16
[junit] states saved : 12
[junit] state matches : 2
[junit] transitions : 17
[junit] trace steps : 10
[junit] valid calls : 7
[junit] provers : cvc4, z3, cvc3
[junit] prover calls : 1
[junit]
[junit] === Result ===
[junit] The standard properties hold for all executions.
[junit] ------------- ---------------- ---------------
[junit] ------------- Standard Error -----------------
[junit] Syntax error: the first (recursively) primitive statement of a clause of $choose should not use $here
[junit] at choose_bad1.cvl:7.4-7 "ptr".
[junit] Syntax error: the first (recursively) primitive statement of a clause of $choose should not use $here
[junit] at choose_bad2.cvl:8.4-9 "$when".
[junit] Syntax error: the first (recursively) primitive statement of a clause of $choose should not use $here
[junit] at choose_bad3.cvl:8.4-9 "$when".
[junit] ------------- ---------------- ---------------
[junitreport] Processing /usa/svn/work/civl/1.5/r2745/junit/data/TESTS-TestSuites.xml to /tmp/null2027635759
[junitreport] Loading stylesheet jar:file:/usr/share/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Warning: org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
[junitreport] Warning: org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized.
[junitreport] Transform time: 661ms
[junitreport] Deleting: /tmp/null2027635759
test:
[jacoco:report] Loading execution data file /usa/svn/work/civl/1.5/r2745/jacoco.exec
[jacoco:report] Writing group "Test Coverage Report for CIVL 1.5 r2745 Regression Suite" with 410 classes
javadoc:
[mkdir] Created dir: /usa/svn/work/civl/1.5/r2745/doc/javadoc
[javadoc] Generating Javadoc
[javadoc] Javadoc execution
[javadoc] Loading source files for package edu.udel.cis.vsl.civl...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.analysis.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.config.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.dynamic.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.gui.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.kripke.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.log.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF.expression...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF.expression.reference...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF.location...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF.statement...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF.type...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.model.IF.variable...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.predicate.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.run.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.semantics.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.state.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.transform.IF...
[javadoc] Loading source files for package edu.udel.cis.vsl.civl.util.IF...
[javadoc] Constructing Javadoc information...
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/common/CommonSymbolicAnalyzer.java:2083: error: unmappable character for encoding ASCII
[javadoc] * of n ?? CHAR_BIT bits, where n is the size of an object of that type, in
[javadoc] ^
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/common/CommonSymbolicAnalyzer.java:2083: error: unmappable character for encoding ASCII
[javadoc] * of n ?? CHAR_BIT bits, where n is the size of an object of that type, in
[javadoc] ^
[javadoc] Standard Doclet version 1.7.0_80
[javadoc] Building tree for all the packages and classes...
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/dynamic/IF/SymbolicUtility.java:802: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/dynamic/IF/SymbolicUtility.java:802: warning - @param argument "arguments" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/gui/IF/CIVL_GUI.java:103: warning - @param argument "transitions" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/kripke/IF/LibraryEnabler.java:63: warning - @param argument "reachableMemUnitsMap" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/kripke/IF/LibraryEnabler.java:92: warning - @param argument "assignAtomicLock" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/CIVLSource.java:41: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:846: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:867: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1463: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1513: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1543: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1570: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1578: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1595: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1618: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:946: warning - Tag @link: can't find noopStatement(CIVLSource, Location) in edu.udel.cis.vsl.civl.model.IF.ModelFactory
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1168: warning - @param argument "expressionNode" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1501: warning - @param argument "scope" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/ModelFactory.java:1618: warning - @param argument "contractCalls" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/Scope.java:80: warning - @param argument "A" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/Scope.java:187: warning - @param argument "des" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/Expression.java:128: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/Expression.java:136: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/Expression.java:170: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/BinaryExpression.java:65: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/BinaryExpression.java:74: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/LHSExpression.java:40: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/LHSExpression.java:50: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/DynamicTypeOfExpression.java:23: warning - Tag @link: reference not found: CIVLDynamicType
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/FunctionGuardExpression.java:21: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/FunctionGuardExpression.java:29: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/LHSExpression.java:50: warning - @param argument "scope" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/MemoryUnitExpression.java:54: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/SystemGuardExpression.java:18: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/SystemGuardExpression.java:25: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/SystemGuardExpression.java:32: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/reference/ArraySliceReference.java:26: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/reference/ArraySliceReference.java:34: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/reference/MemoryUnitReference.java:17: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/reference/MemoryUnitReference.java:24: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/expression/reference/StructOrUnionFieldReference.java:15: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:257: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:273: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:281: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:293: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:302: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:311: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:345: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:257: warning - @return tag cannot be used in method with void return type.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/location/Location.java:281: warning - @return tag cannot be used in method with void return type.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/Statement.java:192: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/Statement.java:199: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/Statement.java:217: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/Statement.java:224: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/Statement.java:246: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/Statement.java:258: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/CallOrSpawnStatement.java:79: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/NoopStatement.java:36: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/NoopStatement.java:47: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/statement/MallocStatement.java:76: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLType.java:193: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLType.java:200: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLType.java:207: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLType.java:58: warning - Tag @link: reference not found: PrimitiveTypeKind.VOID
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLDomainType.java:36: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLEnumType.java:17: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLType.java:74: warning - Tag @link: can't find setDynamicTypeIndex(int) in edu.udel.cis.vsl.civl.model.IF.type.CIVLType
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/type/CIVLType.java:58: warning - Tag @link: reference not found: PrimitiveTypeKind.VOID
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/variable/Variable.java:119: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/model/IF/variable/Variable.java:133: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/predicate/IF/AndPredicate.java:21: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/predicate/IF/AndPredicate.java:28: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/predicate/IF/CIVLStatePredicate.java:16: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/predicate/IF/CIVLStatePredicate.java:23: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/predicate/IF/FunctionalEquivalence.java:32: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/IF/CommandLine.java:50: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/IF/ModelTranslator.java:444: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/IF/UserInterface.java:206: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/IF/UserInterface.java:388: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/IF/UserInterface.java:453: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/run/IF/UserInterface.java:618: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Evaluator.java:362: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Evaluator.java:234: warning - Tag @link: can't find evaluatePointerAdd(State, String, SymbolicExpression, NumericExpresion, boolean, CIVLSource) in edu.udel.cis.vsl.civl.semantics.IF.Evaluator
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Executor.java:214: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Executor.java:214: warning - @param argument "process" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/LibraryEvaluator.java:19: warning - Tag @link: reference not found: CommonLibraryLoader#CLASS_PREFIX
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/LibraryExecutor.java:17: warning - Tag @link: reference not found: CommonLibraryLoader#CLASS_PREFIX
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Transition.java:70: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Transition.java:77: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Semantics.java:164: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/Semantics.java:187: warning - @param argument "target" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/SymbolicAnalyzer.java:38: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/SymbolicAnalyzer.java:199: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/SymbolicAnalyzer.java:38: warning - @param argument "assumption" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/SymbolicAnalyzer.java:145: warning - @param argument "array" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/semantics/IF/SymbolicAnalyzer.java:182: warning - @param argument "process" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:29: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:36: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:44: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:51: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:58: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:65: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:82: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:98: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/CollectiveSnapshotsEntry.java:98: warning - @precondition is an unknown tag.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnit.java:21: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnit.java:28: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnit.java:35: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnitFactory.java:51: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnitFactory.java:64: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnitFactory.java:91: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnitFactory.java:103: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnitFactory.java:17: warning - @return tag cannot be used in method with void return type.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/MemoryUnitSet.java:17: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/State.java:180: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/State.java:346: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/State.java:355: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/State.java:49: warning - Tag @link: can't find canonic(State) in edu.udel.cis.vsl.civl.state.IF.StateFactory
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/State.java:274: warning - @param argument "scope" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:626: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:650: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:675: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:689: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:701: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:722: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:735: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:81: warning - Tag @link: can't find collectScopes(State) in edu.udel.cis.vsl.civl.state.IF.StateFactory
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:137: warning - @param argument "scopeID" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:579: warning - Tag @see: reference not found: malloc
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:626: warning - @precondition: is an unknown tag.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:626: warning - @postcondition: is an unknown tag.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:626: warning - @param argument "monoStates" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/state/IF/StateFactory.java:735: warning - @param argument "id" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/transform/IF/IOTransformer.java:48: warning - @param argument "inputVariables" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/transform/IF/IOTransformer.java:48: warning - @param argument "config" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/transform/IF/TransformerFactory.java:26: warning - Tag @link: can't find applyTransformer(Program, String, List, ASTBuilder) in edu.udel.cis.vsl.civl.transform.IF.TransformerFactory
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/util/IF/Transmuter.java:57: warning - @param argument "m" is not a parameter name.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/util/IF/Utils.java:14: warning - @return tag has no arguments.
[javadoc] /usa/svn/work/civl/1.5/r2745/src/edu/udel/cis/vsl/civl/analysis/IF/package-info.java:11: warning - Tag @link: reference not found: AbsCallAnalyzer
[javadoc] Building index for all the packages and classes...
[javadoc] Building index for all classes...
[javadoc] Generating /usa/svn/work/civl/1.5/r2745/doc/javadoc/help-doc.html...
[javadoc] 142 warnings
[javadoc] /usa/svn/work/civl/1.5/r2745/src/overview.html: warning - Tag @link: reference not found: edu.udel.cis.vsl.civl.library.IF
bench-compile:
[javac] Compiling 5 source files to /usa/svn/work/civl/1.5/r2745/bin
bench-scale-compile:
[javac] Compiling 5 source files to /usa/svn/work/civl/1.5/r2745/bin
all:
BUILD SUCCESSFUL
Total time: 7 minutes 22 seconds
Stderr: