package goblint
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Static analysis framework for C
Install
dune-project
Dependency
Authors
Maintainers
Sources
goblint-2.2.1.tbz
sha256=ca24f72fa9a87d288affe97c411753f14b7802bab4ca3649b337276b89bf5674
sha512=394b3521ccda0da91540cebb2f433f7525763060be4bbe179edd3b952a3580a8e173c4e410fc6895dc67fe6d17e6699aeddfed600f4692858bec093dd912bf1e
doc/goblint.lib/Goblint_lib/RaceAnalysis/Spec/index.html
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
module P = Analyses.UnitPval 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 -> 'aval paths_as_set : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a listmodule A = Analyses.UnitAmodule D = Lattice.Unitmodule C = Lattice.Unitval assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval ->
GoblintCil.exp ->
D.tval branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.exp -> bool -> D.tval body : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.fundec -> D.tval return :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.exp option ->
GoblintCil.fundec ->
D.tval enter :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
(D.t * D.t) listval combine_assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
'd ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'e ->
D.t ->
Queries.ask ->
D.tval threadspawn : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g -> 'h -> 'amodule V : sig ... endmodule MemoSet : sig ... endmodule OneOffset : sig ... endmodule OffsetTrie : sig ... endmodule G : sig ... endval safe : int refval vulnerable : int refval unsafe : int refval side_vars :
('a, [> `Lifted2 of MemoSet.t ], 'b, [> `Right of CilType.Varinfo.t ])
Analyses.ctx ->
MemoSet.elt ->
unitval side_access :
('a,
[> `Lifted1 of OffsetTrie.t | `Lifted2 of MemoSet.t ],
'b,
[> `Left of [ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ]
| `Right of CilType.Varinfo.t ])
Analyses.ctx ->
(int * AccessKind.t * Node.t * CilType.Exp.t * MCPAccess.A.t) ->
([ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ] * Offset.Unit.t) ->
unitval side_access_empty :
('a,
[> `Lifted1 of OffsetTrie.t | `Lifted2 of MemoSet.t ],
'b,
[> `Left of [ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ]
| `Right of CilType.Varinfo.t ])
Analyses.ctx ->
([ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ] * Offset.Unit.t) ->
unitSide-effect empty access set for prefix-type_suffix race checking.
val type_suffix_memo : Access.Memo.t -> Access.Memo.t optionGet immediate type_suffix memo.
val find_type_suffix' :
('a,
[> `Bot | `Lifted1 of OffsetTrie.t ],
'b,
[> `Left of [ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ] ])
Analyses.ctx ->
Access.Memo.t ->
Access.AS.tval find_type_suffix :
('a,
[> `Bot | `Lifted1 of OffsetTrie.t ],
'b,
[> `Left of [ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ] ])
Analyses.ctx ->
Access.Memo.t ->
Access.AS.tFind accesses from all type_suffixes transitively.
val query :
('b, [> `Bot | `Lifted1 of OffsetTrie.t | `Lifted2 of MemoSet.t ], 'c, V.t)
Analyses.ctx ->
'a Queries.t ->
'a Queries.resultval event :
('a, 'b, 'c, 'd) Analyses.ctx ->
Events.t ->
('e,
[> `Lifted1 of OffsetTrie.t | `Lifted2 of MemoSet.t ],
'f,
[> `Left of [ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ]
| `Right of CilType.Varinfo.t ])
Analyses.ctx ->
'aval special :
(D.t,
[> `Lifted1 of OffsetTrie.t | `Lifted2 of MemoSet.t ],
'a,
[> `Left of [ `Var of CilType.Varinfo.t | `Type of CilType.Typsig.t ]
| `Right of CilType.Varinfo.t ])
Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.t sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>