package goblint-cil

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val debug : bool Stdlib.ref

Print extra debugging info

val debug_constraints : bool Stdlib.ref

Debug constraints (print all constraints)

val debug_aliases : bool Stdlib.ref

Debug smart alias queries

val debug_may_aliases : bool Stdlib.ref

Debug may alias queries

val smart_aliases : bool Stdlib.ref
val print_constraints : bool Stdlib.ref

Print out the top level constraints

val analyze_mono : bool Stdlib.ref

Make the analysis monomorphic

val no_sub : bool Stdlib.ref

Disable subtyping

val no_flow : bool Stdlib.ref

Make the flow step a no-op

val show_progress : bool Stdlib.ref

Show the progress of the flow step

val conservative_undefineds : bool Stdlib.ref

Treat undefined functions conservatively

val callHasNoSideEffects : (Cil.exp -> bool) Stdlib.ref

client can specify particular external functions that * have no side effects

val analyze_file : Cil.file -> unit

Analyze a file

val print_types : unit -> unit

Print the type of each lvalue in the program

exception UnknownLocation

If undefined functions are analyzed conservatively, any of the high-level queries may raise this exception

val may_alias : Cil.exp -> Cil.exp -> bool
val resolve_lval : Cil.lval -> Cil.varinfo list
val resolve_exp : Cil.exp -> Cil.varinfo list
val resolve_funptr : Cil.exp -> Cil.fundec list
type absloc

type for abstract locations

val absloc_of_varinfo : Cil.varinfo -> absloc

Give an abstract location for a varinfo

val absloc_of_lval : Cil.lval -> absloc

Give an abstract location for an Cil lvalue

val absloc_eq : absloc -> absloc -> bool

may the two abstract locations be aliased?

val absloc_e_points_to : Cil.exp -> absloc list
val absloc_e_transitive_points_to : Cil.exp -> absloc list
val absloc_lval_aliases : Cil.lval -> absloc list
val d_absloc : unit -> absloc -> Pretty.doc

Print a string representing an absloc, for debugging.

val compute_results : bool -> unit

Compute points to sets for variables. If true is passed, print the sets.

val compute_aliases : bool -> unit
val feature : Feature.t
OCaml

Innovation. Community. Security.