cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
all_properties_verifier.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Goto Verifier for Verifying all Properties
4
5
Author: Daniel Kroening, Peter Schrammel
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_CHECKER_ALL_PROPERTIES_VERIFIER_H
13
#define CPROVER_GOTO_CHECKER_ALL_PROPERTIES_VERIFIER_H
14
15
#include "
goto_verifier.h
"
16
17
#include "
incremental_goto_checker.h
"
18
#include "
properties.h
"
19
#include "
report_util.h
"
20
21
template
<
class
incremental_goto_checkerT>
22
class
all_properties_verifiert
:
public
goto_verifiert
23
{
24
public
:
25
all_properties_verifiert
(
26
const
optionst
&
options
,
27
ui_message_handlert
&
ui_message_handler
,
28
abstract_goto_modelt
&
goto_model
)
29
:
goto_verifiert
(
options
,
ui_message_handler
),
30
goto_model
(
goto_model
),
31
incremental_goto_checker
(
options
,
ui_message_handler
,
goto_model
)
32
{
33
properties
=
initialize_properties
(
goto_model
);
34
}
35
36
resultt
operator()
()
override
37
{
38
while
(
incremental_goto_checker
(
properties
).progress !=
39
incremental_goto_checkert::resultt::progresst::DONE
)
40
{
41
// loop until we are done
42
++
iterations
;
43
}
44
return
determine_result
(
properties
);
45
}
46
47
void
report
()
override
48
{
49
output_properties
(
properties
,
iterations
,
ui_message_handler
);
50
output_overall_result
(
determine_result
(
properties
),
ui_message_handler
);
51
}
52
53
protected
:
54
abstract_goto_modelt
&
goto_model
;
55
incremental_goto_checkerT
incremental_goto_checker
;
56
std::size_t
iterations
= 1;
57
};
58
59
#endif
// CPROVER_GOTO_CHECKER_ALL_PROPERTIES_VERIFIER_H
abstract_goto_modelt
Abstract interface to eager or lazy GOTO models.
Definition
abstract_goto_model.h:22
all_properties_verifiert::iterations
std::size_t iterations
Definition
all_properties_verifier.h:56
all_properties_verifiert::report
void report() override
Report results.
Definition
all_properties_verifier.h:47
all_properties_verifiert::goto_model
abstract_goto_modelt & goto_model
Definition
all_properties_verifier.h:54
all_properties_verifiert::incremental_goto_checker
incremental_goto_checkerT incremental_goto_checker
Definition
all_properties_verifier.h:55
all_properties_verifiert::operator()
resultt operator()() override
Check whether all properties hold.
Definition
all_properties_verifier.h:36
all_properties_verifiert::all_properties_verifiert
all_properties_verifiert(const optionst &options, ui_message_handlert &ui_message_handler, abstract_goto_modelt &goto_model)
Definition
all_properties_verifier.h:25
goto_verifiert::properties
propertiest properties
Definition
goto_verifier.h:56
goto_verifiert::goto_verifiert
goto_verifiert()=delete
goto_verifiert::options
const optionst & options
Definition
goto_verifier.h:53
goto_verifiert::ui_message_handler
ui_message_handlert & ui_message_handler
Definition
goto_verifier.h:54
optionst
Definition
options.h:23
ui_message_handlert
Definition
ui_message.h:22
goto_verifier.h
Goto Verifier Interface.
incremental_goto_checker.h
Incremental Goto Checker Interface.
determine_result
resultt determine_result(const propertiest &properties)
Determines the overall result corresponding from the given properties That is PASS if all properties ...
Definition
properties.cpp:264
initialize_properties
propertiest initialize_properties(const abstract_goto_modelt &goto_model)
Returns the properties in the goto model.
Definition
properties.cpp:70
properties.h
Properties.
resultt
resultt
The result of goto verifying.
Definition
properties.h:45
output_properties
void output_properties(const propertiest &properties, std::size_t iterations, ui_message_handlert &ui_message_handler)
Definition
report_util.cpp:308
output_overall_result
void output_overall_result(resultt result, ui_message_handlert &ui_message_handler)
Definition
report_util.cpp:677
report_util.h
Bounded Model Checking Utilities.
incremental_goto_checkert::resultt::progresst::DONE
@ DONE
The goto checker has returned all results for the given set of properties.
Definition
incremental_goto_checker.h:51
goto-checker
all_properties_verifier.h
Generated by
1.17.0