This policy can be used to emulate the execution of a single basic block of instructions. It is similar in nature to VirtualMachineSemantics, but with a different type of ValueType: instead of values being a constant or variable with offset, values here are expression trees.
If an SMT solver is supplied as a Policy constructor argument then that SMT solver will be used to answer various questions such as when two memory addresses can alias one another. When an SMT solver is lacking, the questions will be answered by very naive comparison of the expression trees.
Classes | |
| class | ValueType |
| struct | MemoryCell |
| Represents one location in memory. More... | |
| struct | State |
| Represents the entire state of the machine. More... | |
| class | Policy |
| A policy that is supplied to the semantic analysis constructor. More... | |
Typedefs | |
| typedef InsnSemanticsExpr::RenameMap | RenameMap |
| typedef InsnSemanticsExpr::LeafNode | LeafNode |
| typedef InsnSemanticsExpr::InternalNode | InternalNode |
| typedef InsnSemanticsExpr::TreeNode | TreeNode |
| typedef std::set< SgAsmInstruction * > | InsnSet |
| typedef std::set<SgAsmInstruction*> SymbolicSemantics::InsnSet |
1.4.7