CBMC
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
c
d
e
f
g
j
l
m
r
t
w
Functions
a
c
d
f
g
r
t
w
Typedefs
Enumerations
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
i
k
l
m
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
Related Symbols
b
c
d
e
g
i
j
m
n
o
s
t
u
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
w
y
Typedefs
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerations
_
a
b
c
d
f
g
i
l
m
p
r
s
t
u
v
w
Enumerator
_
a
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
goto_analyzer_parse_options.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Goto-Analyser Command Line Option Processing
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
88
89
#ifndef CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
90
#define CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
91
92
#include <
util/config.h
>
93
#include <
util/parse_options.h
>
94
#include <
util/timestamper.h
>
95
#include <
util/ui_message.h
>
96
#include <
util/validation_interface.h
>
97
98
#include <
goto-programs/goto_model.h
>
99
#include <
goto-programs/show_goto_functions.h
>
100
#include <
goto-programs/show_properties.h
>
101
102
#include <
analyses/variable-sensitivity/variable_sensitivity_domain.h
>
103
#include <
ansi-c/goto-conversion/goto_check_c.h
>
104
#include <
langapi/language.h
>
105
106
class
optionst
;
107
108
// clang-format off
109
#define GOTO_ANALYSER_OPTIONS_TASKS \
110
"(show)(verify)(simplify):" \
111
"(show-on-source)" \
112
"(unreachable-instructions)(unreachable-functions)" \
113
"(reachable-functions)" \
114
"(no-standard-checks)"
109
#define GOTO_ANALYSER_OPTIONS_TASKS \
…
115
116
#define GOTO_ANALYSER_OPTIONS_AI \
117
"(recursive-interprocedural)" \
118
"(three-way-merge)" \
119
"(legacy-ait)" \
120
"(legacy-concurrent)"
116
#define GOTO_ANALYSER_OPTIONS_AI \
…
121
122
#define GOTO_ANALYSER_OPTIONS_HISTORY \
123
"(ahistorical)" \
124
"(call-stack):" \
125
"(loop-unwind):" \
126
"(branching):" \
127
"(loop-unwind-and-branching):"
122
#define GOTO_ANALYSER_OPTIONS_HISTORY \
…
128
129
#define GOTO_ANALYSER_OPTIONS_DOMAIN \
130
"(intervals)" \
131
"(non-null)" \
132
"(constants)" \
133
"(dependence-graph)" \
134
"(vsd)(variable-sensitivity)" \
135
"(dependence-graph-vs)" \
136
129
#define GOTO_ANALYSER_OPTIONS_DOMAIN \
…
137
#define GOTO_ANALYSER_OPTIONS_STORAGE \
138
"(one-domain-per-history)" \
139
"(one-domain-per-location)"
137
#define GOTO_ANALYSER_OPTIONS_STORAGE \
…
140
141
#define GOTO_ANALYSER_OPTIONS_OUTPUT \
142
"(json):(xml):" \
143
"(text):(dot):"
141
#define GOTO_ANALYSER_OPTIONS_OUTPUT \
…
144
145
#define GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
146
"(taint):(show-taint)" \
147
"(show-local-may-alias)" \
148
"(show-local-bitvector)"
145
#define GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
…
149
150
#define GOTO_ANALYSER_OPTIONS \
151
OPT_FUNCTIONS \
152
OPT_CONFIG_C_CPP \
153
OPT_CONFIG_PLATFORM \
154
OPT_SHOW_GOTO_FUNCTIONS \
155
OPT_SHOW_PROPERTIES \
156
OPT_GOTO_CHECK \
157
OPT_CONFIG_LIBRARY \
158
"(show-symbol-table)(show-parse-tree)" \
159
"(property):" \
160
"(verbosity):(version)" \
161
OPT_FLUSH \
162
OPT_TIMESTAMP \
163
OPT_VALIDATE \
164
GOTO_ANALYSER_OPTIONS_TASKS \
165
"(no-simplify-slicing)" \
166
"(show-intervals)(show-non-null)" \
167
GOTO_ANALYSER_OPTIONS_AI \
168
"(location-sensitive)(concurrent)" \
169
GOTO_ANALYSER_OPTIONS_HISTORY \
170
GOTO_ANALYSER_OPTIONS_DOMAIN \
171
OPT_VSD \
172
GOTO_ANALYSER_OPTIONS_STORAGE \
173
GOTO_ANALYSER_OPTIONS_OUTPUT \
174
GOTO_ANALYSER_OPTIONS_SPECIFIC_ANALYSES \
175
// clang-format on
176
177
class
goto_analyzer_parse_optionst
:
public
parse_options_baset
178
{
179
public
:
180
virtual
int
doit
()
override
;
181
virtual
void
help
()
override
;
182
183
goto_analyzer_parse_optionst
(
int
argc,
const
char
**argv);
184
185
protected
:
186
goto_modelt
goto_model
;
187
188
void
register_languages
()
override
;
189
190
virtual
void
get_command_line_options
(
optionst
&options);
191
192
virtual
bool
process_goto_program
(
const
optionst
&options);
193
194
virtual
int
perform_analysis
(
const
optionst
&options);
195
196
// TODO: Add documentation
197
static
void
set_default_analysis_flags
(
optionst
&options,
const
bool
enabled
);
198
};
177
class
goto_analyzer_parse_optionst
:
public
parse_options_baset
{
…
};
199
200
#endif
// CPROVER_GOTO_ANALYZER_GOTO_ANALYZER_PARSE_OPTIONS_H
ait
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition
ai.h:562
goto_analyzer_parse_optionst
Definition
goto_analyzer_parse_options.h:178
goto_analyzer_parse_optionst::doit
virtual int doit() override
invoke main modules
Definition
goto_analyzer_parse_options.cpp:402
goto_analyzer_parse_optionst::goto_model
goto_modelt goto_model
Definition
goto_analyzer_parse_options.h:186
goto_analyzer_parse_optionst::get_command_line_options
virtual void get_command_line_options(optionst &options)
Definition
goto_analyzer_parse_options.cpp:90
goto_analyzer_parse_optionst::process_goto_program
virtual bool process_goto_program(const optionst &options)
Definition
goto_analyzer_parse_options.cpp:719
goto_analyzer_parse_optionst::register_languages
void register_languages() override
Definition
goto_analyzer_languages.cpp:19
goto_analyzer_parse_optionst::perform_analysis
virtual int perform_analysis(const optionst &options)
Depending on the command line mode, run one of the analysis tasks.
Definition
goto_analyzer_parse_options.cpp:468
goto_analyzer_parse_optionst::help
virtual void help() override
display command line help
Definition
goto_analyzer_parse_options.cpp:748
goto_analyzer_parse_optionst::set_default_analysis_flags
static void set_default_analysis_flags(optionst &options, const bool enabled)
Definition
goto_analyzer_parse_options.cpp:60
goto_modelt
Definition
goto_model.h:27
optionst
Definition
options.h:23
parse_options_baset
Definition
parse_options.h:20
config.h
goto_check_c.h
Program Transformation.
goto_model.h
Symbol Table + CFG.
language.h
Abstract interface to support a programming language.
parse_options.h
show_goto_functions.h
Show the goto functions.
show_properties.h
Show the properties.
timestamper.h
Emit timestamps.
ui_message.h
validation_interface.h
variable_sensitivity_domain.h
There are different ways of handling arrays, structures, unions and pointers.
src
goto-analyzer
goto_analyzer_parse_options.h
Generated by
1.9.8