28 const std::string &dir,
30 const std::string &build_identity);
33 bool proved(
const std::string &cone_key)
const;
36 void record(
const std::string &cone_key)
const;
48 std::filesystem::path entry_path(
const std::string &cone_key)
const;
50 std::filesystem::path dir;
53 uint64_t context_hash;
55 mutable std::atomic<size_t> hit_count{0};
56 mutable std::atomic<size_t> miss_count{0};
proof_cachet(const std::string &dir, const optionst &options, const std::string &build_identity)
Definition proof_cache.cpp:212
size_t hits() const
Definition proof_cache.h:38
size_t misses() const
Definition proof_cache.h:42
bool proved(const std::string &cone_key) const
True iff a proof is stored for cone_key.
Definition proof_cache.cpp:232
void record(const std::string &cone_key) const
Record cone_key as proved. Idempotent.
Definition proof_cache.cpp:245
bool proof_cache_contradicted(bool was_hit, bool counterexample_found)
True when the solver has just contradicted a proof the cache stood in for.
Definition proof_cache.cpp:114
std::string proof_cache_build_identity(const std::string &build_id)
The ESBMC that is running, as far as it can be established: build_id alone when that names one build,...
Definition proof_cache.cpp:119
void report_proof_cache_inactive(const std::string &why)
Say, once per run, that a named cache directory will not be consulted.
Definition proof_cache.cpp:103
std::string proof_cache_inactive_reason(const optionst &options)
Why a proof cache would not be consulted under options, or empty when it would be.
Definition proof_cache.cpp:84
std::string proof_cache_context(const optionst &options, const std::string &build_identity)
Digest of everything outside the cone that the verdict depends on.
Definition proof_cache.cpp:140