Stubs.Mmodule State : State_intf.Smodule SM : sig ... endval error :
'a ->
('b, 'a * Cerb_location.t Soteria.Terminal.Call_trace.t, 'c)
Soteria.Symex.Compo_res.t
SM.tval not_impl : string -> 'a SM.tval of_opt_not_impl : msg:string -> 'a option -> 'a SM.ttype 'err fun_exec =
args:Agv.t list ->
(Agv.t, Error.with_trace, State.syn list) SM.Result.tval failed_alloc_case :
unit ->
(unit ->
([> Soteria__Bv_values__Typed.T.sptr ] Soteria__Bv_values__Typed.t Agv.agv,
'a,
'b)
SM.Result.t)
listval malloc :
args:Agv.t list ->
([> Soteria__Bv_values__Typed.T.sptr ] Typed.t Agv.agv,
Error.with_trace,
State.syn list)
Soteria.Symex.Compo_res.t
SM.tval calloc :
args:Agv.t list ->
([> Soteria__Bv_values__Typed.T.sptr ] Typed.t Agv.agv,
Error.with_trace,
State.syn list)
Soteria.Symex.Compo_res.t
SM.tval free :
args:Agv.t list ->
([> Soteria__Bv_values__Typed.T.zero ] Soteria__Bv_values__Typed.t Agv.agv,
Error.with_trace,
State.syn list)
Soteria.Symex.Compo_res.t
SM.tval memcpy :
args:Agv.t list ->
('a Typed.t Agv.agv, Error.with_trace, State.syn list)
Soteria.Symex.Compo_res.t
SM.tval assert_ :
args:Agv.t list ->
([> Soteria__Bv_values__Typed.T.zero ] Soteria__Bv_values__Typed.t Agv.agv,
[> `FailedAssert ] * Cerb_location.t Soteria.Terminal.Call_trace.t,
'a)
Soteria.Symex.Compo_res.t
SM.tval assert_fail :
args:'a ->
('b, [> `FailedAssert ] * Cerb_location.t Soteria.Terminal.Call_trace.t, 'c)
Soteria.Symex.Compo_res.t
SM.tval assume_ :
args:Agv.t list ->
([> Soteria__Bv_values__Typed.T.zero ] Soteria__Bv_values__Typed.t Agv.agv,
'a,
'b)
Soteria.Symex.Compo_res.t
SM.tval nondet :
Soteria_c_lib.Layout.CF.Ctype.ctype_ ->
args:'a ->
(Soteria_c_lib.Layout.Agv.t, 'b, 'c) Soteria.Symex.Compo_res.t SM.tval strcmp :
args:'a Typed.t Agv.agv list ->
([> Soteria__Bv_values__Typed.T.sint ] Soteria__Bv_values__Typed.t Agv.agv,
Error.with_trace,
State.syn list)
Soteria.Symex.Compo_res.t
SM.tval memset :
args:'a Typed.t Agv.agv list ->
([> Soteria__Bv_values__Typed.T.zero ] Soteria__Bv_values__Typed.t Agv.agv,
Error.with_trace,
State.syn list)
Soteria.Symex.Compo_res.t
SM.tval havoc :
return_ty:Soteria_c_lib.Layout.CF.Ctype.ctype option ->
args:Agv.T.cval Typed.t Agv.agv list ->
(Soteria_c_lib.Layout.Agv.t, 'a, 'b) Soteria.Symex.Compo_res.t SM.tval vanish_fn : args:'a -> 'b SM.tmodule Arg_filter : sig ... endHACK: Some internal functions such as __builtin___memcpy_chk are not needed in our tool, since we perform all checks. For this function, we return the real implementation (here, memcpy), with a filter saying that the last argument should be elided. See: https://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Object-Size-Checking.html
val with_cbmc_support :
((args:Agv.t list ->
(Agv.t, Error.with_trace, State.syn list) SM.Result.t)
* Arg_filter.t) ->
((args:Agv.t list ->
(Agv.t, Error.with_trace, State.syn list) SM.Result.t)
* Arg_filter.t)
optionval with_testcomp_support :
((args:Agv.t list ->
(Agv.t, Error.with_trace, State.syn list) SM.Result.t)
* Arg_filter.t) ->
((args:Agv.t list ->
(Agv.t, Error.with_trace, State.syn list) SM.Result.t)
* Arg_filter.t)
optionval find_stub :
Cerb_frontend.Symbol.sym ->
('err fun_exec * Arg_filter.t) option