maat::MaatStats class

Global stats recorded by Maat to be used for introspection and optimisations

❱   Public static functions

static auto instance() -> MaatStats&
Get the global stats instance.

❱   Public functions

auto symptr_read_total_time() const -> unsigned int
Total time spent refining symbolic pointer reads (in milliseconds)

auto symptr_read_average_time() const -> unsigned int
Average time spend refining symbolic pointer reads (in milliseconds)

auto symptr_read_average_range() const -> unsigned int
Average memory range for symbolic pointer reads.

auto symptr_read_count() const -> unsigned int
Total number of symbolic pointer reads.

auto symptr_write_total_time() const -> unsigned int
Total time spent refining symbolic pointer writes (in milliseconds)

auto symptr_write_average_time() const -> unsigned int
Average time spend refining symbolic pointer writes (in milliseconds)

auto symptr_write_average_range() const -> unsigned int
Average memory range for symbolic pointer writes.

auto symptr_write_count() const -> unsigned int
Total number of symbolic pointer writes.

auto executed_insts() const -> unsigned int
Total number of ASM instructions executed.

auto lifted_insts() const -> unsigned int
Total number of ASM instructions lifted to IR.

auto executed_ir_insts() const -> unsigned int
Total number of IR instructions executed.

auto created_exprs() const -> unsigned long long
Total number of Expr instances created.

auto solver_total_time() const -> unsigned int
Total time spent solving symbolic constraints (in milliseconds)

auto solver_average_time() const -> unsigned int
Average time spent per call to the solver (in milliseconds)

auto solver_calls_count() const -> unsigned int
Total number of calls to the solver.

void start_refine_symptr_read()
Notify start of refinement for symptr read.

void done_refine_symptr_read()
Notify end of refinement for symptr read and record the refinement time.

void add_symptr_read(unsigned int range)
Record a symbolic read.

void start_refine_symptr_write()
Notify start of refinement for symptr read.

void done_refine_symptr_write()
Notify end of refinement for symptr read and record the refinement time.

void add_symptr_write(unsigned int range)
Record a symbolic read.

void start_solving()
Notify that we started to solve constraints with the solver.

void done_solving()
Notify that we finished to solve constraints with the solver.