ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
bmc.h File Reference
Include dependency graph for bmc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bmct
struct  bmct::witness_recordt
 One enumerated witness for a failing property. More...

Functions

void report_k_step_property_table (const optionst &options, const goto_functionst &goto_functions, const namespacet &ns)
 Print the property table a k-step strategy accumulated across its phases, once, where the strategy concludes without a phase of its own having reported (the k steps ran out).
void report_coverage (const optionst &options, std::unordered_set< std::string > &reached_claims, const std::unordered_multiset< std::string > &reached_mul_claims, pytest_generator &pytest_gen, ctest_generator &ctest_gen)
void note_cov_incomplete (const std::string &reason)
 Record why a coverage measurement is not exhaustive; the reason is listed under the closing COVERAGE ANALYSIS INCOMPLETE line.
void report_coverage_completeness ()
 Closing line of a coverage run: whether every goal was actually decided, and if not, why.

Function Documentation

◆ note_cov_incomplete()

void note_cov_incomplete ( const std::string & reason)

Record why a coverage measurement is not exhaustive; the reason is listed under the closing COVERAGE ANALYSIS INCOMPLETE line.

◆ report_coverage()

void report_coverage ( const optionst & options,
std::unordered_set< std::string > & reached_claims,
const std::unordered_multiset< std::string > & reached_mul_claims,
pytest_generator & pytest_gen,
ctest_generator & ctest_gen )

the reached_claims might not be empty (due to unwinding assertions)

Might got incorrect total number when using –k-induction due to that the symex->goto_functions has been simplified

◆ report_coverage_completeness()

void report_coverage_completeness ( )

Closing line of a coverage run: whether every goal was actually decided, and if not, why.

Printed by the driver once, after the last [Coverage] block (k-induction prints one per phase).

◆ report_k_step_property_table()

void report_k_step_property_table ( const optionst & options,
const goto_functionst & goto_functions,
const namespacet & ns )

Print the property table a k-step strategy accumulated across its phases, once, where the strategy concludes without a phase of its own having reported (the k steps ran out).

Rows the run never decided print as UNKNOWN: every base case checked them, none settled them. A no-op on a run that keeps a table per phase.