package goblint
Static analysis framework for C
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-2.5.0.tbz
sha256=452d8491527aea21f2cbb11defcc14ba0daf9fdb6bdb9fc0af73e56eac57b916
sha512=1993cd45c4c7fe124ca6e157f07d17ec50fab5611b270a434ed1b7fb2910aa85a8e6eaaa77dad770430710aafb2f6d676c774dd33942d921f23e2f9854486551
doc/goblint.lib/Goblint_lib/EvalAssert/index.html
Module Goblint_lib.EvalAssert
Transformation for instrumenting the program with computed invariants as assertions (assert
).
Instruments a program by inserting asserts either:
- After an assignment to a variable (unless witness.invariant.full is activated) and
- At join points about all local variables
OR
- Only after pthread_mutex_lock (witness.invariant.after-lock), about all locals and globals
Limitations without witness.invariant.after-lock:
- Currently only works for top-level variables (not inside an array, a struct, ...)
- Does not work for accesses through pointers
- At join points asserts all locals, but ideally should only assert ones that are modified in one of the branches
Limitations in general:
- Removes comments, so if the original program had //UNKNOWN assertions, the annotation will be removed and they will fail on the next iteration
module EvalAssert : sig ... end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>