CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
goto_trace_provider.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Interface for returning Goto Traces from Goto Checkers
4
5Author: Daniel Kroening, Peter Schrammel
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H
13#define CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H
14
15#include <util/irep.h>
16
17class goto_tracet;
18class namespacet;
19
23{
24public:
28 virtual goto_tracet build_full_trace() const = 0;
29
31 virtual goto_tracet build_shortest_trace() const = 0;
32
35 virtual goto_tracet build_trace(const irep_idt &property_id) const = 0;
36
38 virtual const namespacet &get_namespace() const = 0;
39
40 virtual ~goto_trace_providert() = default;
41};
42
43#endif // CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition dstring.h:38
An implementation of incremental_goto_checkert may implement this interface to provide goto traces.
virtual goto_tracet build_shortest_trace() const =0
Builds and returns the trace up to the first failed property.
virtual const namespacet & get_namespace() const =0
Returns the namespace associated with the traces.
virtual ~goto_trace_providert()=default
virtual goto_tracet build_trace(const irep_idt &property_id) const =0
Builds and returns the trace for the FAILed property with the given property_id.
virtual goto_tracet build_full_trace() const =0
Builds and returns the complete trace.
Trace of a GOTO program.
Definition goto_trace.h:177
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition namespace.h:91