cozy.concrete

Module Contents

Classes

CompatiblePairInput

Stores information about the concretization of a compatible state pair.

TerminalStateInput

Stores information about the concretization of a TerminalState.

Functions

_concretize(solver, state_bundle[, n])

cozy.concrete._concretize(solver, state_bundle, n=1)
class cozy.concrete.CompatiblePairInput(args, mem_diff: dict[range, tuple[int, int]], reg_diff: dict[str, tuple[int, int]], left_vprints: list[tuple[cozy.directive.VirtualPrint, any]], right_vprints: list[tuple[cozy.directive.VirtualPrint, any]])

Stores information about the concretization of a compatible state pair.

Variables:
  • args (any) – The same Python datastructures as the arguments passed to concrete_examples, except that all claripy symbolic variables are replaced with concrete values.

  • mem_diff (dict[range, tuple[int, int]]) – Concretized version of memory difference. Each key is a memory address range, and each value is a concretized version of the data stored at that location for the prepatched, postpatched runs.

  • reg_diff (dict[str, tuple[int, int]]) – Concretized version of register difference. Each key is a register name, and each value is a concretized version of the data stored at that register for the prepatched, postpatched runs.

  • left_vprints (list[tuple[directive.VirtualPrint, any]]) – Concretized versions of virtual prints made by the prepatched state.

  • right_vprints (list[tuple[directive.VirtualPrint, any]]) – Concretized versions of virtual prints made by the postpatched state.

class cozy.concrete.TerminalStateInput(args, vprints: list[tuple[cozy.directive.VirtualPrint, any]])

Stores information about the concretization of a TerminalState.

Variables:
  • args (any) – The same Python datastructures as the arguments passed to concrete_examples, except that all claripy symbolic variables are replaced with concrete values.

  • vprints (list[tuple[directive.VirtualPrint, any]]) – Concretized virtual prints outputted by the singleton state.