ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
fingerprint.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <string>
6
25
37uint64_t ssa_cone_digest(
40
44{
45 uint64_t lo;
46 uint64_t hi;
47};
48
52
54std::string ssa_cone_key_string(
57
59uint64_t fingerprint_hash(const std::string &s);
60
std::list< SSA_stept > SSA_stepst
Definition symex_target_equation.h:273
ssa_cone_keyt ssa_cone_key(const symex_target_equationt::SSA_stepst &steps, fingerprint_modet mode)
Definition fingerprint.cpp:230
fingerprint_modet
Normalisation applied to SSA symbols before a claim's cone is digested.
Definition fingerprint.h:16
@ srcloc
Strip the <file>@<character-offset>@ segment ESBMC bakes into every local's name, re-disambiguating n...
Definition fingerprint.h:21
@ raw
No normalisation. Baseline for the measurement.
Definition fingerprint.h:18
@ full
Alpha-rename every symbol: the digest sees structure and types only.
Definition fingerprint.h:23
uint64_t fingerprint_hash(const std::string &s)
FNV-1a over s. Stable across processes, unlike irep2's crc().
Definition fingerprint.cpp:219
uint64_t ssa_cone_digest(const symex_target_equationt::SSA_stepst &steps, fingerprint_modet mode)
Digest the surviving steps of a per-claim sliced equation.
Definition fingerprint.cpp:276
std::string ssa_cone_key_string(const symex_target_equationt::SSA_stepst &steps, fingerprint_modet mode)
ssa_cone_key rendered as 32 hex digits.
Definition fingerprint.cpp:268
size_t ssa_cone_size(const symex_target_equationt::SSA_stepst &steps)
Number of steps the digest covered.
Definition fingerprint.cpp:283
A cone's 128-bit key.
Definition fingerprint.h:44
uint64_t hi
Definition fingerprint.h:46
uint64_t lo
Definition fingerprint.h:45