Modular assertion checkers are plagued with false alarms due to the need for
precise environment specifications (preconditions and callee postconditions).
Even the fully precise checkers report assertion failures under the most demonic
environments allowed by unconstrained or partial specifications. The inability
to preclude overly adversarial environments makes such checkers less attractive
to developers and severely limits the adoption of such tools in the development
cycle.

In this work, we propose a parameterized framework for prioritizing the
assertion failures reported by a modular verifier, with the goal of suppressing
warnings from overly demonic environments. We formalize it almost-correct
specifications as the minimal weakening of an angelic specification (over a set
of predicates) that precludes any dead code intraprocedurally. Our work is
inspired by and generalizes some aspects of semantic inconsistency detection. Our
formulation allows us to lift this idea to a general class of warnings. We have
developed a prototype acspec , which we use to explore a few instantiations of
the framework and report preliminary findings on a diverse set of C
benchmarks.