foxdec-0.1.0.0: Formally Verified x86-64 Decompilation
Safe HaskellSafe-Inferred
LanguageHaskell2010

WithAbstractPredicates.GenerateInvariants

Synopsis

Documentation

generate_invariants :: WithAbstractPredicates bin pred finit v => LiftingEntry bin pred finit v -> CFG -> finit -> (IntMap pred, VCS v) Source #

Start propagation at the given entry address with the given initial predicate. Returns a set of invariants, i.e., a mapping of instruction addresses to predicates.

Assumes blockID 0 is start of function

invs_to_PA :: WithAbstractPredicates bin pred finit v => LiftingEntry bin pred finit v -> CFG -> IntMap pred -> IntMap (PointerAnalysisResult v) Source #

invs_to_post :: WithAbstractPredicates bin pred finit v => LiftingEntry bin pred finit v -> CFG -> IntMap pred -> Postcondition pred Source #

withEntry :: d -> (a, b, c) -> (a, b, c, d) Source #

withoutEntry :: (a, b, c, d) -> (a, b, c) Source #

get_postcondition_for_block :: WithAbstractPredicates bin pred finit v => LiftingEntry bin pred finit v -> Int -> [Instruction] -> IntMap pred -> (pred, VCS v) Source #

propagate :: WithAbstractPredicates bin pred finit v => LiftingEntry bin pred finit v -> CFG -> State (IntMap pred, Set (Int, Int), VCS v) () Source #