Module InferModules.StarvationModels

val may_block : InferIR.Tenv.t -> InferIR.Typ.Procname.t -> InferIR.HilExp.t list -> StarvationDomain.Event.severity_t option

is the method call potentially blocking, given the actuals passed?

val is_strict_mode_violation : InferIR.Tenv.t -> InferIR.Typ.Procname.t -> InferIR.HilExp.t list -> bool
val is_synchronized_library_call : InferIR.Tenv.t -> InferIR.Typ.Procname.t -> bool

does the method call lock-then-unlock the underlying object? legacy Java containers like Vector do this, and can interact with explicit locking

val should_skip_analysis : InferIR.Tenv.t -> InferIR.Typ.Procname.t -> InferIR.HilExp.t list -> bool

should we treat a method call as skip (eg library methods in guava) to avoid FPs?