CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cover_goals_verifier_with_trace_storage.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Goto Verifier for Covering Goals that stores Traces
4
5Author: Daniel Kroening, Peter Schrammel
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_CHECKER_COVER_GOALS_VERIFIER_WITH_TRACE_STORAGE_H
13#define CPROVER_GOTO_CHECKER_COVER_GOALS_VERIFIER_WITH_TRACE_STORAGE_H
14
15#include "goto_verifier.h"
16
17#include "bmc_util.h"
19#include "goto_trace_storage.h"
21#include "properties.h"
22
23template <class incremental_goto_checkerT>
25{
26public:
38
40 {
41 while(incremental_goto_checker(properties).progress !=
43 {
44 if(
45 options.get_bool_option("show-test-suite") ||
46 options.get_bool_option("trace"))
47 {
48 // we've got a trace; store it and link it to the covered goals
51 }
52
53 ++iterations;
54 }
55
57 }
58
63
65 {
66 return traces;
67 }
68
69protected:
72 unsigned iterations = 1;
74};
75
76#endif // CPROVER_GOTO_CHECKER_COVER_GOALS_VERIFIER_WITH_TRACE_STORAGE_H
void message_building_error_trace(messaget &log)
Outputs a message that an error trace is being built.
Definition bmc_util.cpp:35
Bounded Model Checking Utilities.
Abstract interface to eager or lazy GOTO models.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
cover_goals_verifier_with_trace_storaget(const optionst &options, ui_message_handlert &ui_message_handler, abstract_goto_modelt &goto_model)
resultt operator()() override
Check whether all properties hold.
const goto_tracet & insert_all(goto_tracet &&)
Store trace that contains multiple violated assertions.
An implementation of goto_verifiert checks all properties in a goto model.
propertiest properties
const optionst & options
ui_message_handlert & ui_message_handler
void output_goals(const propertiest &properties, unsigned iterations, ui_message_handlert &ui_message_handler)
Outputs the properties interpreted as 'coverage goals' and the number of goto verifier iterations tha...
Cover Goals Reporting Utilities.
Goto Trace Storage.
Goto Verifier Interface.
Incremental Goto Checker Interface.
resultt determine_result(const propertiest &properties)
Determines the overall result corresponding from the given properties That is PASS if all properties ...
propertiest initialize_properties(const abstract_goto_modelt &goto_model)
Returns the properties in the goto model.
Properties.
resultt
The result of goto verifying.
Definition properties.h:45
@ DONE
The goto checker has returned all results for the given set of properties.