Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
WithAbstractSymbolicValues.Class
Synopsis
- data SymbolicOperation v
- data SStatePart p
- data Sstate v p = Sstate {}
- data MemRelation
- data FInit v p = FInit (Set (SStatePart p, v)) (Map (SStatePart p, SStatePart p) MemRelation)
- empty_finit :: FInit v p
- unknownSize :: Maybe a
- class (Ord v, Eq v, Show v, Eq p, Ord p, Show p) => WithAbstractSymbolicValues ctxt v p | ctxt -> v p where
- sseparate :: ctxt -> String -> p -> Maybe ByteSize -> p -> Maybe ByteSize -> Bool
- senclosed :: ctxt -> p -> Maybe ByteSize -> p -> Maybe ByteSize -> Bool
- salias :: ctxt -> p -> Maybe ByteSize -> p -> Maybe ByteSize -> Bool
- ssensitive :: ctxt -> p -> Maybe ByteSize -> v -> Bool
- sread_from_ro_data :: ctxt -> p -> Maybe ByteSize -> Maybe v
- smk_mem_addresses :: ctxt -> String -> v -> Set p
- sjoin_values :: Foldable t => ctxt -> String -> t v -> v
- swiden_values :: ctxt -> String -> v -> v
- sjoin_pointers :: ctxt -> [p] -> [p]
- top :: ctxt -> String -> v
- ssemantics :: ctxt -> String -> SymbolicOperation v -> v
- sflg_semantics :: ctxt -> v -> Instruction -> FlagStatus -> FlagStatus
- simmediate :: Integral i => ctxt -> i -> v
- smk_init_reg_value :: ctxt -> Register -> v
- smk_init_mem_value :: ctxt -> String -> p -> Maybe ByteSize -> v
- scall :: ctxt -> Instruction -> State (Sstate v p, VCS v) ()
- sjump :: ctxt -> Instruction -> State (Sstate v p, VCS v) ()
- saddress_has_instruction :: ctxt -> Word64 -> Bool
- skeep_for_finit :: ctxt -> SStatePart p -> v -> Maybe (Set p)
- stry_jump_targets :: ctxt -> v -> Maybe (Set ResolvedJumpTarget)
- stry_resolve_error_call :: ctxt -> Instruction -> v -> Maybe Indirection
- stry_immediate :: ctxt -> v -> Maybe Word64
- sis_deterministic :: ctxt -> v -> Bool
- scheck_regs_in_postcondition :: ctxt -> v -> v -> Bool
Documentation
data SymbolicOperation v Source #
data SStatePart p Source #
A statepart is either a register or a region in memory
Constructors
SSP_Reg Register | A register |
SSP_Mem p Int | A region with a symbolic address and an immediate size. |
Instances
Constructors
Sstate | |
Instances
data MemRelation Source #
A function initialisation consists of a mapping of state parts to values, and memory relations
Instances
Constructors
FInit (Set (SStatePart p, v)) (Map (SStatePart p, SStatePart p) MemRelation) |
Instances
empty_finit :: FInit v p Source #
unknownSize :: Maybe a Source #
class (Ord v, Eq v, Show v, Eq p, Ord p, Show p) => WithAbstractSymbolicValues ctxt v p | ctxt -> v p where Source #
Methods
sseparate :: ctxt -> String -> p -> Maybe ByteSize -> p -> Maybe ByteSize -> Bool Source #
senclosed :: ctxt -> p -> Maybe ByteSize -> p -> Maybe ByteSize -> Bool Source #
salias :: ctxt -> p -> Maybe ByteSize -> p -> Maybe ByteSize -> Bool Source #
ssensitive :: ctxt -> p -> Maybe ByteSize -> v -> Bool Source #
sread_from_ro_data :: ctxt -> p -> Maybe ByteSize -> Maybe v Source #
smk_mem_addresses :: ctxt -> String -> v -> Set p Source #
sjoin_values :: Foldable t => ctxt -> String -> t v -> v Source #
swiden_values :: ctxt -> String -> v -> v Source #
sjoin_pointers :: ctxt -> [p] -> [p] Source #
top :: ctxt -> String -> v Source #
ssemantics :: ctxt -> String -> SymbolicOperation v -> v Source #
sflg_semantics :: ctxt -> v -> Instruction -> FlagStatus -> FlagStatus Source #
simmediate :: Integral i => ctxt -> i -> v Source #
smk_init_reg_value :: ctxt -> Register -> v Source #
smk_init_mem_value :: ctxt -> String -> p -> Maybe ByteSize -> v Source #
scall :: ctxt -> Instruction -> State (Sstate v p, VCS v) () Source #
sjump :: ctxt -> Instruction -> State (Sstate v p, VCS v) () Source #
saddress_has_instruction :: ctxt -> Word64 -> Bool Source #
skeep_for_finit :: ctxt -> SStatePart p -> v -> Maybe (Set p) Source #
stry_jump_targets :: ctxt -> v -> Maybe (Set ResolvedJumpTarget) Source #
stry_resolve_error_call :: ctxt -> Instruction -> v -> Maybe Indirection Source #
stry_immediate :: ctxt -> v -> Maybe Word64 Source #
sis_deterministic :: ctxt -> v -> Bool Source #
scheck_regs_in_postcondition :: ctxt -> v -> v -> Bool Source #