Comments (2)
Hi,
how do you run Symbiotic? For me, it finds both the assertions:
scripts/symbiotic ~/Downloads/test.c
8.0.0-llvm-unknown-symbiotic:8.0.0
INFO: Looking for reachability of calls to __assert_fail,__VERIFIER_error
INFO: Optimizations time: 0.013025760650634766
INFO: Starting slicing
INFO: Total slicing time: 0.00792384147644043
Linked our definitions to these undefined functions:
__VERIFIER_assume
INFO: Optimizations time: 0.012096643447875977
INFO: After-slicing optimizations and transformations time: 1.7642974853515625e-05
INFO: Starting verification
KLEE: WARNING: undefined reference to function: klee_make_nondet
KLEE: WARNING ONCE: Large alloc: 4000000000 bytes. Not allocating this memory in real.
KLEE: ERROR: /home/marek/Downloads/test.c:9: ASSERTION FAIL: C != n
KLEE: NOTE: now ignoring this error at this location
KLEE: ERROR: /home/marek/Downloads/test.c:19: ASSERTION FAIL: C >= n
KLEE: NOTE: now ignoring this error at this location
--- Error trace ---
Error: ASSERTION FAIL: C >= n
File: /home/marek/Downloads/test.c
Line: 19
assembly.ll line: 124
Stack:
#000000124 in main () at /home/marek/Downloads/test.c:19
--- Sequence of non-deterministic values [function:file:line:col] ---
__VERIFIER_nondet_int:test.c:8:11 := len 4 bytes, [3 times 0x0|0x80] (i32: -2147483648)
--- ----------- ---
--- Error trace ---
Error: ASSERTION FAIL: C != n
File: /home/marek/Downloads/test.c
Line: 9
assembly.ll line: 63
Stack:
#000000063 in main () at /home/marek/Downloads/test.c:9
--- Sequence of non-deterministic values [function:file:line:col] ---
__VERIFIER_nondet_int:test.c:8:11 := len 4 bytes, [0xe8|0x3|2 times 0x0] (i32: 1000)
--- ----------- ---
Error found.
NOTE: In the future, the result is going to be reported in SV-COMP format only with --report=sv-comp switch
RESULT: false(unreach-call)
INFO: Total time elapsed: 19.713260650634766
from symbiotic.
Ok that's interesting because I also invoke symbiotic without any options:
symbiotic/bin/symbiotic Downloads/test.c
symbiotic/bin/symbiotic Downloads/test.c
9.0.0-dev-llvm-10.0.1-symbiotic:b34dd3a1-dg:4b374e5d-sbt-slicer:9636fad0-sbt-instrumentation:f07632fd-z3:d6df5195-klee:b71309b4
INFO: Looking for reachability of calls to __assert_fail,__VERIFIER_error
INFO: Optimizations time: 0.010481834411621094
INFO: Starting slicing
INFO: Total slicing time: 0.005069732666015625
Linked our definitions to these undefined functions:
__VERIFIER_assume
INFO: Optimizations time: 0.008301734924316406
INFO: After-slicing optimizations and transformations time: 1.2636184692382812e-05
INFO: Starting verification
KLEE: WARNING ONCE: Large alloc: 4000000000 bytes. Not allocating this memory in real.
KLEE: ERROR: Downloads/test.c:9: ASSERTION FAIL: C != n
KLEE: NOTE: now ignoring this error at this location
--- Error trace ---
Error: ASSERTION FAIL: C != n
File: Downloads/test.c
Line: 9
assembly.ll line: 44
Stack:
#44 in main () at Downloads/test.c:9
--- Sequence of non-deterministic values [function:file:line:col] ---
__VERIFIER_nondet_int:test.c:8:11 := len 4 bytes, [0xe8|0x3|2 times 0x0] (i32: 1000)
Error found.
NOTE: In the future, the result is going to be reported in SV-COMP format only with --report=sv-comp switch
RESULT: false(unreach-call)
INFO: Total time elapsed: 10.196244716644287
However in the outputs I see that I use newer versions of Symbiotic/LLVM, so maybe that's the reason?
"symbiotic/bin/symbiotic --version" prints
version: 9.0.0-dev
LLVM version: 10.0.1
symbiotic -> b34dd3a (Release)
dg -> 4b374e5dba6e9a1d76191cd76ae8bad42a977171 (Release)
sbt-slicer -> 9636fad069d4fdcb03150e287a14887f7b02b2ad (Release)
sbt-instrumentation -> f07632fdc5ed9c204525c0547ebc6e819746a643 (Release)
z3 -> d6df51951f4cdc95f0dfd3b1297d04a465d8f2ca (Release)
klee -> b71309b475b494cbab3b5580e31bed941dd02687 (Release)
from symbiotic.
Related Issues (20)
- Consecutive `malloc` allocations are not modelled correctly HOT 3
- A bug in checking undefined behavior HOT 1
- `__VERIFIER_nondet_*` in our models break SV-COMP witnesses
- build: add all licenses into the archive HOT 2
- Symbiotic may fail to start when wrong `clang` binary is in `PATH`
- Undetected integer overflows in constant-folded expressions
- Depending in the optimization level, assertion violations in `inline` functions may not be detected HOT 3
- Symbiotic failed to find `invalid free` and `memory leak`
- Please find python3 through path
- Build fails when with-llvm=... is supplied
- Create and use a fork of DG HOT 2
- Bug: Unknown-Err on certain programs with AssertionErrors + Exceptions in Log
- build.sh uses git protocol
- Implicit array initialisation HOT 2
- Error-call detection depends on order of array initialisation
- Undefined-are-pure causes slicer error
- Combining --undefined-are-pure and --exit-on-error causes missed error
- Is it possible to run symbiotic directly on LLVM bitcode file? HOT 1
- Stop generating LLVM IR with the optnone attribute
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from symbiotic.