foxdec-0.1.0.0: Formally Verified x86-64 Decompilation
Safe HaskellNone
LanguageHaskell2010

Instantiation.SymbolicPropagation

Description

 
Synopsis

Documentation

get_invariant :: FContext -> Int -> Maybe Predicate Source #

Get the currently known invariant for the given instruction address

init_pred Source #

Arguments

:: FContext

The current context

-> String

The current function

-> Invariants

The currently available invariants

-> Set (NodeInfo, Predicate)

The currently known postconditions

-> Set SStatePart

The currently known stateparts of the function

-> Predicate 

The initial predicate.

invariant_to_finit :: FContext -> Predicate -> FInit Source #

Convert the current invariant into a function initialisation

join_finit :: FContext -> FInit -> FInit -> FInit Source #

The join between two function initialisations

gather_stateparts Source #

Arguments

:: Invariants

The currently available invariants

-> Set (NodeInfo, Predicate)

The currently known postconditions

-> Set SStatePart 

Given the currently known invariants and postconditions, gather all stateparts occurring in the current function.

Orphan instances

Propagator FContext Predicate Source # 
Instance details

SymbolicExecutable FContext SValue SPointer Source # 
Instance details

Methods

sseparate :: FContext -> String -> SPointer -> RegionSize -> SPointer -> RegionSize -> Bool Source #

senclosed :: FContext -> SPointer -> RegionSize -> SPointer -> RegionSize -> Bool Source #

salias :: FContext -> SPointer -> RegionSize -> SPointer -> RegionSize -> Bool Source #

ssensitive :: FContext -> SPointer -> RegionSize -> SValue -> Bool Source #

sread_from_ro_data :: FContext -> SPointer -> RegionSize -> Maybe SValue Source #

smk_mem_addresses :: FContext -> String -> SValue -> Set SPointer Source #

sjoin_values :: Foldable t => FContext -> String -> t SValue -> SValue Source #

swiden_values :: FContext -> String -> SValue -> SValue Source #

sjoin_pointers :: FContext -> [SPointer] -> [SPointer] Source #

top :: FContext -> String -> SValue Source #

ssemantics :: FContext -> String -> SymbolicOperation SValue -> SValue Source #

sflg_semantics :: FContext -> SValue -> Instruction -> FlagStatus -> FlagStatus Source #

simmediate :: Integral i => FContext -> i -> SValue Source #

smk_init_reg_value :: FContext -> Register -> SValue Source #

smk_init_mem_value :: FContext -> String -> SPointer -> RegionSize -> SValue Source #

scall :: FContext -> Bool -> Instruction -> State (Sstate SValue SPointer, VCS) () Source #

sjump :: FContext -> Instruction -> State (Sstate SValue SPointer, VCS) () Source #

stry_jump_targets :: FContext -> SValue -> Maybe (Set ResolvedJumpTarget) Source #

stry_immediate :: FContext -> SValue -> Maybe Word64 Source #

stry_deterministic :: FContext -> SValue -> Maybe SimpleExpr Source #

stry_relocation :: FContext -> SPointer -> RegionSize -> Maybe SValue Source #

saddress_has_instruction :: FContext -> Word64 -> Bool Source #