1#ifndef CPROVER_POINTER_ANALYSIS_GOTO_PROGRAM_DEREFERENCE_H
2#define CPROVER_POINTER_ANALYSIS_GOTO_PROGRAM_DEREFERENCE_H
29 bool checks_only =
false);
48 const std::string &property,
49 const std::string &msg,
64 bool checks_only =
false);
69 const bool checks_only,
Class providing interface to value set tracking code.
Definition dereference.h:96
Class containing expression dereference logic.
Definition dereference.h:173
Definition goto_functions.h:56
bool is_live_variable(const expr2tc &sym) override
Determine whether variable is "alive".
Definition goto_program_dereference.h:54
dereferencet dereference
Definition goto_program_dereference.h:43
void dereference_program(goto_programt &goto_program, bool checks_only=false)
Definition goto_program_dereference.cpp:120
void dereference_assume(const guard2tc &guard) override
Definition goto_program_dereference.cpp:71
void dereference_failure(const std::string &property, const std::string &msg, const guard2tc &guard) override
Encode a dereference failure assertion.
Definition goto_program_dereference.cpp:42
goto_program_dereferencet(const namespacet &_ns, contextt &_new_context, const optionst &_options, value_setst &_value_sets)
Definition goto_program_dereference.h:12
const namespacet & ns
Definition goto_program_dereference.h:41
~goto_program_dereferencet() override=default
locationt dereference_location
Definition goto_program_dereference.h:72
const optionst & options
Definition goto_program_dereference.h:40
void pointer_checks(goto_programt &goto_program)
void pointer_checks(goto_functionst &goto_functions)
void dereference_instruction(goto_programt::targett target, bool checks_only=false)
Definition goto_program_dereference.cpp:152
void get_value_set(const expr2tc &expr, value_setst::valuest &dest) override
Fetch the set of values that the given pointer variable can point at.
Definition goto_program_dereference.cpp:95
goto_programt new_code
Definition goto_program_dereference.h:77
void dereference_expression(goto_programt::const_targett target, expr2tc &expr)
Definition goto_program_dereference.cpp:231
value_setst & value_sets
Definition goto_program_dereference.h:42
void dereference_expr(expr2tc &expr, const bool checks_only, const dereferencet::modet mode)
Definition goto_program_dereference.cpp:102
goto_programt::const_targett current_target
Definition goto_program_dereference.h:73
std::set< expr2tc > assertions
Definition goto_program_dereference.h:75
bool has_failed_symbol(const expr2tc &expr, const symbolt *&symbol) override
Check whether a failed symbol already exists for the given symbol.
Definition goto_program_dereference.cpp:8
std::set< expr2tc > assumptions
Definition goto_program_dereference.h:76
A generic container class for a control flow graph for one function, in the form of a goto-program.
Definition goto_program.h:63
instructionst::iterator targett
Definition goto_program.h:590
instructionst::const_iterator const_targett
Definition goto_program.h:591
Path-condition guard container.
Definition irep2_guard.h:32
Definition namespace.h:10
Definition value_sets.h:11
std::list< expr2tc > valuest
Definition value_sets.h:15
The dereferencing code's purpose is to take a symbol with pointer type that is being dereferenced,...
void dereference(goto_programt::const_targett target, expr2tc &expr, const namespacet &ns, value_setst &value_sets)
Definition goto_program_dereference.cpp:239
irep_container< expr2t > expr2tc
Definition irep2.h:431
The different ways in which a pointer may be accessed.
Definition dereference.h:202