Module Pulselib__PulseExecutionDomain
module AbductiveDomain = Pulselib.PulseAbductiveDomainmodule LatentIssue = Pulselib.PulseLatentIssuetype 'abductive_domain_t base_t=|ContinueProgram of 'abductive_domain_trepresents the state at the program point
|ExitProgram of AbductiveDomain.summaryrepresents the state originating at exit/divergence.
|AbortProgram of AbductiveDomain.summaryrepresents the state at the program point that caused an error
|LatentAbortProgram of{astate : AbductiveDomain.summary;latent_issue : LatentIssue.t;}this path leads to an error but we don't have conclusive enough data to report it yet
|LatentInvalidAccess of{astate : AbductiveDomain.summary;address : Pulselib.PulseBasicInterface.AbstractValue.t;must_be_valid : Pulselib.PulseBasicInterface.Trace.t * Pulselib.PulseBasicInterface.Invalidation.must_be_valid_reason option;calling_context : (Pulselib.PulseBasicInterface.CallEvent.t * IBase.Location.t) list;}if
addressis ever observed to be invalid then there is an invalid access because itmust_be_valid|ISLLatentMemoryError of AbductiveDomain.summaryrepresents the state at the program point that might cause an error; used for
Config.pulse_isltype t= AbductiveDomain.t base_t
include Absint.AbstractDomain.NoJoin with type t := t
include IStdlib.PrettyPrintable.PrintableType
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val continue : AbductiveDomain.t -> tval mk_initial : IR.Tenv.t -> IR.Procdesc.t -> tval is_unsat_cheap : t -> boolsee
PulsePathCondition.is_unsat_cheap
type summary= AbductiveDomain.summary base_t