package goblint
Static analysis framework for C
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-2.4.0.tbz
sha256=99b78e6def71534d195eef9084baa26d8334b36084e120aa6afb300c9bf8afa6
sha512=f3162bd95a03c00358a2991f6152fc6169205bfb4c55e2c483e98cc3935673df9656d025b6f1ea0fa5f1bd0aee037d4f483966b0d2907e3fa9bf11a93a3392af
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)"
>