Soteria_c_lib.Drivermodule Call_trace = Soteria.Terminal.Call_tracemodule SState = Statemodule Wpst_interp : sig ... endval with_tool_errors_caught :
unit ->
(unit -> Error.Exit_code.t) ->
Error.Exit_code.tval default_wpst_fuel : Soteria.Symex.Fuel_gauge.tmodule Frontend : sig ... endval parse_ail_raw_default :
includes:string list ->
string ->
(Cerb_frontend.GenTypes.genTypeCategory Cerb_frontend.AilSyntax.ail_program,
[> `ParsingError of string ] * Cerb_location.t Call_trace.t)
Stdlib.resultval parse_and_link_ail :
includes:string list ->
string list ->
(Ail_tys.linked_program,
[> `LinkError of string | `ParsingError of string ]
* Cerb_location.t Call_trace.t)
Stdlib.resultval parse_compilation_item :
Compilation_database.cmd ->
(Cerb_frontend.GenTypes.genTypeCategory Cerb_frontend.AilSyntax.ail_program,
[> `ParsingError of string ] * Cerb_location.t Call_trace.t)
Stdlib.resultval pp_err_and_call_trace :
Stdlib.Format.formatter ->
([< `DivisionByZero
| `DoubleFree
| `FailedAssert
| `Gave_up of string
| `InvalidFree
| `InvalidFunctionPtr
| `LinkError of string
| `Memory_leak
| `NullDereference
| `OutOfBounds
| `Overflow
| `ParsingError of string
| `UBPointerArithmetic
| `UBPointerComparison
| `UninitializedMemoryAccess
| `UseAfterFree ]
* Cerb_location.t Call_trace.element list) ->
unitval resolve_function :
Ail_tys.linked_program ->
string ->
(Cerb_frontend.Symbol.sym
* (Cerb_location.t
* int
* Cerb_frontend.Annot.attributes
* Cerb_frontend.AilSyntax.ail_identifier list
* Cerb_frontend.GenTypes.genTypeCategory
Cerb_frontend.AilSyntax.statement),
[> `ParsingError of string ] * 'a Call_trace.t)
Soteria.Soteria_std.Result.tval with_function_context : Ail_tys.linked_program -> (unit -> 'a) -> 'aval exec_function :
includes:string list ->
fuel:Soteria.Symex.Fuel_gauge.t ->
string list ->
string ->
((Aggregate_val.t * Wpst_interp.InterpM.StateM.st,
(Error.with_trace * Wpst_interp.InterpM.StateM.st)
Soteria.Symex.Or_gave_up.t,
SState.syn list)
Soteria.Symex.Compo_res.t
* Soteria.Bv_values.Bv_solver.Z3_solver.Value.sbool
Soteria.Bv_values.Bv_solver.Z3_solver.Value.t
list)
listval generate_errors : string -> (Error.t * Cerb_location.t Call_trace.t) listval initialise :
?soteria_config:Soteria.Config.t ->
Config.mode ->
Config.t ->
(unit -> 'a) ->
'aval print_states :
(('a Typed.t Aggregate_val.agv * SState.t option,
(([< `DivisionByZero
| `DoubleFree
| `FailedAssert
| `Gave_up of string
| `InvalidFree
| `InvalidFunctionPtr
| `LinkError of string
| `Memory_leak
| `NullDereference
| `OutOfBounds
| `Overflow
| `ParsingError of string
| `UBPointerArithmetic
| `UBPointerComparison
| `UninitializedMemoryAccess
| `UseAfterFree ]
* Cerb_location.t Call_trace.element list)
* SState.t option)
Soteria.Symex.Or_gave_up.t,
SState.syn list)
Soteria.Symex.Compo_res.t
* 'b)
list ->
unitval exec_and_print :
Soteria.Config.t ->
Config.t ->
(Soteria__Symex__Fuel_gauge.t, string) Stdlib.result ->
string list ->
string list ->
string ->
Error.Exit_code.tval dump_summaries :
(Cerb_frontend.Symbol.sym * 'a Summary.t list) list ->
unitval analyse_summaries :
(Ail_tys.sym * 'a Summary.t list) list ->
(Ail_tys.sym * Summary.analysed Summary.t list) listval generate_summaries :
functions_to_analyse:string list option ->
Ail_tys.linked_program ->
Error.Exit_code.tval lsp : Config.t -> unit -> Error.Exit_code.tval show_ail :
Soteria.Config.t ->
Config.t ->
string list ->
string list ->
Error.Exit_code.tval generate_all_summaries :
Soteria.Config.t ->
Config.t ->
string list ->
string list ->
string list ->
Error.Exit_code.tval linked_prog_of_db : string -> Ail_tys.linked_programval capture_db :
Soteria.Config.t ->
Config.t ->
string ->
string list ->
Error.Exit_code.t