CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
incremental_goto_checker.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Incremental Goto Checker Interface
4
5Author: Daniel Kroening, Peter Schrammel
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_CHECKER_INCREMENTAL_GOTO_CHECKER_H
13#define CPROVER_GOTO_CHECKER_INCREMENTAL_GOTO_CHECKER_H
14
15#include <unordered_set>
16
17#include "properties.h"
18
19#include <util/message.h>
20
21class optionst;
23
36{
37public:
40 virtual ~incremental_goto_checkert() = default;
41
42 struct resultt
43 {
44 enum class progresst
45 {
51 DONE
52 };
53
55
56 resultt() = delete;
57 explicit resultt(progresst);
58
61 std::unordered_set<irep_idt> updated_properties;
62 };
63
80 virtual resultt operator()(propertiest &properties) = 0;
81
84 virtual void report()
85 {
86 }
87
88protected:
90
94};
95
96#endif // CPROVER_GOTO_CHECKER_INCREMENTAL_GOTO_CHECKER_H
An implementation of incremental_goto_checkert provides functionality for checking a set of propertie...
incremental_goto_checkert(const incremental_goto_checkert &)=delete
ui_message_handlert & ui_message_handler
virtual resultt operator()(propertiest &properties)=0
Check whether the given properties with status NOT_CHECKED, UNKNOWN or properties newly discovered by...
virtual void report()
Additional reporting that may result from the underlying solver, no-op by default.
virtual ~incremental_goto_checkert()=default
Class that provides messages with a built-in verbosity 'level'.
Definition message.h:154
Properties.
std::map< irep_idt, property_infot > propertiest
A map of property IDs to property infos.
Definition properties.h:76
std::unordered_set< irep_idt > updated_properties
Changed properties since the last call to incremental_goto_checkert::operator()
@ DONE
The goto checker has returned all results for the given set of properties.
@ FOUND_FAIL
The goto checker may be able to find another FAILed property if operator() is called again.