Module PulseAbductiveDomain.AddressAttributes

Safe version of PulseBaseAddressAttributes

add the attribute to the pre, if the address is in pre

abduce_one on each attribute in the set

add the attribute only to the post

add_one on each attribute in the set

Remove "Uninitialized" attribute of the given address

Add "Uninitialized" attributes when a variable is declared or a memory is allocated by malloc.

val always_reachable : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val java_resource_release : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val hack_async_await : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val remove_hack_builder : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_java_resource_released : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val csharp_resource_release : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_csharp_resource_released : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val in_reported_retain_cycle : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_in_reported_retain_cycle : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val add_dict_contain_const_keys : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val remove_dict_contain_const_keys : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_dict_contain_const_keys : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val remove_allocation_attr : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val remove_taint_attrs : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val get_closure_proc_name : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> IR.Procname.t option
val remove_copied_return : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_end_of_collection : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val mark_as_end_of_collection : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_std_vector_reserved : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val std_vector_reserve : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> t
val is_copied_from_const_ref : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val is_std_moved : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val has_unknown_effect : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool
val is_hack_constinit_called : Pulselib.PulseBasicInterface.AbstractValue.t -> t -> bool