sig
  type state
  val register_initial_state :
    Value_types.callstack -> Abstract_domain.Store.state -> unit
  val register_state_before_stmt :
    Value_types.callstack ->
    Cil_types.stmt -> Abstract_domain.Store.state -> unit
  val register_state_after_stmt :
    Value_types.callstack ->
    Cil_types.stmt -> Abstract_domain.Store.state -> unit
  val get_initial_state :
    Cil_types.kernel_function -> Abstract_domain.Store.state Eval.or_bottom
  val get_initial_state_by_callstack :
    Cil_types.kernel_function ->
    Abstract_domain.Store.state Value_types.Callstack.Hashtbl.t option
  val get_stmt_state :
    Cil_types.stmt -> Abstract_domain.Store.state Eval.or_bottom
  val get_stmt_state_by_callstack :
    after:bool ->
    Cil_types.stmt ->
    Abstract_domain.Store.state Value_types.Callstack.Hashtbl.t option
end