package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

dune-project
 Dependency

Authors

Maintainers

Sources

goblint-2.7.1.tbz
sha256=af01aac256229f33a90a9fcbfed04b01e3097f154d4d124f006476d6387c6a66
sha512=2a93bfe16881adbc2d8dcbfe38c1e19cd24ca105d8e1eda13d02440f3002874ffe2957dfd937510765233a054a40568b0052db92e31d382a5bd215d1ec12565c

doc/goblint.lib/Goblint_lib/ThreadAnalysis/Spec/V/index.html

Module Spec.V

include module type of struct include T end
include ThreadIdDomain.S with type t = ThreadIdDomain.thread
include Printable.S with type t = ThreadIdDomain.thread
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val show : t -> string
val pretty : unit -> t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val name : unit -> string
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int

Unique ID, given by HConsed, for context identification in witness

val arbitrary : unit -> t QCheck.arbitrary
val relift : t -> t
val threadinit : GoblintCil.varinfo -> multiple:bool -> t
val is_main : t -> bool
val is_unique : t -> bool
val may_be_ancestor : t -> t -> bool

Overapproximates whether the first TID can be involved in the creation of the second TID

val must_be_ancestor : t -> t -> bool

Is the first TID a must ancestor of the second thread. Always false if the first TID is not unique

module D = T.D
val threadenter : multiple:bool -> (t * D.t) -> Node.t -> int option -> GoblintCil.varinfo -> t list
val threadspawn : multiple:bool -> D.t -> Node.t -> int option -> GoblintCil.varinfo -> D.t
val created : t -> D.t -> t list option

If it is possible to get a list of threads created thus far, get it

include module type of struct include Analyses.StdV end
val is_write_only : 'a -> bool