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.0.1.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=dba2b664c7c125687e708e871d83fbfb6ba6d9ee98d235b4850d9a238caa84de
    
    
  sha512=529987cde39691ad9e955000a3603e89c1c8cf14ed5e8b4cd3a7fc26e47d016aff571b472e2329725133c46f8d0cb45a05b88994eeffaa221a4d31b4c543adcd
    
    
  doc/goblint.lib/Goblint_lib/AccessAnalysis/Spec/index.html
Module AccessAnalysis.Spec
Access and data race analyzer without base --- this is the new standard
include module type of struct include Analyses.DefaultSpec end
val 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 event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'aval sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'amodule A = Goblint_lib.Analyses.DefaultSpec.Amodule D = Lattice.Unitmodule C = Lattice.Unitmodule 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 do_access : 
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  AccessKind.t ->
  bool ->
  int ->
  Prelude.Ana.exp ->
  unitval access_one_top : 
  ?force:bool ->
  ?deref:bool ->
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  AccessKind.t ->
  bool ->
  Prelude.Ana.exp ->
  unitThree access levels:
- deref=false,- reach=false- Access- expwithout dereferencing, used for all normal reads and all function call arguments.
- deref=true,- reach=false- Access- expby dereferencing once (may-point-to), used for lval writes and shallow special accesses.
- deref=true,- reach=true- Access- expby dereferencing transitively (reachable), used for deep special accesses.
Transfer functions:
val assign : 
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  Prelude.Ana.lval ->
  Prelude.Ana.exp ->
  D.tval branch : (D.t, G.t, C.t, V.t) Analyses.ctx -> Prelude.Ana.exp -> 'a -> D.tval return : 
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  Prelude.Ana.exp option ->
  'a ->
  D.tval body : (D.t, 'a, 'b, 'c) Analyses.ctx -> 'd -> D.tval special : 
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  Prelude.Ana.lval option ->
  GoblintCil.Cil.varinfo ->
  Prelude.Ana.exp list ->
  D.tval enter : 
  (D.t, 'a, 'b, 'c) Analyses.ctx ->
  'd ->
  'e ->
  'f ->
  (D.t * D.t) listval combine : 
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  Prelude.Ana.lval option ->
  Prelude.Ana.exp ->
  'a ->
  Prelude.Ana.exp list ->
  'b ->
  'c ->
  'cval threadspawn : 
  (D.t, G.t, C.t, V.t) Analyses.ctx ->
  Prelude.Ana.lval option ->
  'a ->
  'b ->
  'c ->
  D.tval query : 
  ('b, [> `Bot | `Lifted1 of Access.AS.t | `Lifted2 of V0Set.t ], 'c, V.t)
    Analyses.ctx ->
  'a Queries.t ->
  'a Queries.result sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >