package goblint

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module RaceAnalysis.Spec

Data race analyzer without base --- this is the new standard

include module type of struct include UnitAnalysis.Spec end
include module type of struct include Analyses.DefaultSpec end
type marshal = unit
val should_join : 'a -> 'b -> bool
val vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a
val skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a
val morphstate : 'a -> 'b -> 'b
val sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val context : 'a -> 'b -> 'b
val access : 'a -> 'b -> unit
val assign : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval -> Prelude.Ana.exp -> D.t
val branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.exp -> bool -> D.t
val body : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.fundec -> D.t
val return : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.exp option -> Prelude.Ana.fundec -> D.t
val enter : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval option -> Prelude.Ana.fundec -> Prelude.Ana.exp list -> (D.t * D.t) list
val combine : 'a -> Prelude.Ana.lval option -> 'b -> Prelude.Ana.fundec -> Prelude.Ana.exp list -> 'c -> D.t -> D.t
val special : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval option -> Prelude.Ana.varinfo -> Prelude.Ana.exp list -> D.t
val startstate : 'a -> unit
val threadenter : 'a -> 'b -> 'c -> 'd -> unit list
val threadspawn : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g -> 'h -> 'a
val exitstate : 'a -> unit
val name : unit -> string
module V0 : sig ... end
module V : sig ... end
module V0Set : sig ... end
module G : sig ... end
val safe : int Prelude.Ana.ref
val vulnerable : int Prelude.Ana.ref
val unsafe : int Prelude.Ana.ref
val init : 'a -> unit
val side_vars : ('a, [> `Lifted2 of V0Set.t ], 'b, [> `Right of CilType.Varinfo.t ]) Analyses.ctx -> Access.LVOpt.t -> Access.T.t -> unit
val side_access : ('a, [> `Lifted1 of Access.AS.t | `Lifted2 of V0Set.t ], 'b, [> `Left of Access.LVOpt.t * Access.T.t | `Right of CilType.Varinfo.t ]) Analyses.ctx -> Access.T.t -> Access.LVOpt.t -> (int * AccessKind.t * Node.t * CilType.Exp.t * MCPAccess.A.t) -> unit
val query : ('b, [> `Bot | `Lifted1 of Access.AS.t | `Lifted2 of V0Set.t ], 'c, V.t) Analyses.ctx -> 'a Queries.t -> 'a Queries.result
val event : ('a, 'b, 'c, 'd) Analyses.ctx -> Events.t -> ('e, [> `Lifted1 of Access.AS.t | `Lifted2 of V0Set.t ], 'f, [> `Left of Access.LVOpt.t * Access.T.t | `Right of CilType.Varinfo.t ]) Analyses.ctx -> 'a
val finalize : unit -> unit
OCaml

Innovation. Community. Security.