package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-2.0.0.tbz
sha256=2f4f2e25b765452f0e336941f35f6cb396d7c213a2d347abe5d35febc5159b1f
sha512=e96af4cad91f6985c8db93c194925853e96cad0ec1a0d9f4d32bbe16d3e5fa1e305f54be02839f21ba89ad2af0c2d5d7aa819ade221ce097dc4dbd0fcd8c8500

doc/goblint.lib/Goblint_lib/EvalAssert/index.html

Module Goblint_lib.EvalAssert

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
OCaml

Innovation. Community. Security.