RaceAnalysis.SpecData race analyzer without base --- this is the new standard
include module type of struct include UnitAnalysis.Spec endinclude module type of struct include Analyses.DefaultSpec endval vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'aval asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'aval skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'aval sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'amodule A = Goblint_lib.UnitAnalysis.Spec.Amodule D = Goblint_lib.UnitAnalysis.Spec.Dmodule C = Goblint_lib.UnitAnalysis.Spec.Cval assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
Prelude.Ana.lval ->
Prelude.Ana.exp ->
D.tval branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.exp -> bool -> D.tval body : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.fundec -> D.tval return :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
Prelude.Ana.exp option ->
Prelude.Ana.fundec ->
D.tval enter :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.fundec ->
Prelude.Ana.exp list ->
(D.t * D.t) listval combine :
'a ->
Prelude.Ana.lval option ->
'b ->
Prelude.Ana.fundec ->
Prelude.Ana.exp list ->
'c ->
D.t ->
D.tval special :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.varinfo ->
Prelude.Ana.exp list ->
D.tval threadspawn : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g -> 'h -> 'amodule V0 : sig ... endmodule V : sig ... endmodule V0Set : sig ... endmodule G : sig ... endval safe : int Prelude.Ana.refval vulnerable : int Prelude.Ana.refval unsafe : int Prelude.Ana.refval side_vars :
('a, [> `Lifted2 of V0Set.t ], 'b, [> `Right of CilType.Varinfo.t ])
Analyses.ctx ->
Access.LVOpt.t ->
Access.T.t ->
unitval 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) ->
unitval query :
('b, [> `Bot | `Lifted1 of Access.AS.t | `Lifted2 of V0Set.t ], 'c, V.t)
Analyses.ctx ->
'a Queries.t ->
'a Queries.resultval 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