CBMC
|
#include <static_analysis.h>
Public Types | |
typedef goto_programt::const_targett | locationt |
![]() | |
typedef domain_baset | statet |
typedef goto_programt::const_targett | locationt |
Public Member Functions | |
static_analysist (const namespacet &_ns) | |
T & | operator[] (locationt l) |
const T & | operator[] (locationt l) const |
virtual void | clear () |
virtual bool | has_location (locationt l) const |
![]() | |
static_analysis_baset (const namespacet &_ns) | |
virtual void | initialize (const goto_programt &goto_program) |
virtual void | initialize (const goto_functionst &goto_functions) |
virtual void | update (const goto_programt &goto_program) |
virtual void | update (const goto_functionst &goto_functions) |
virtual void | operator() (const irep_idt &function_identifier, const goto_programt &goto_program) |
virtual void | operator() (const goto_functionst &goto_functions) |
virtual | ~static_analysis_baset () |
virtual void | output (const goto_functionst &goto_functions, std::ostream &out) const |
void | output (const goto_programt &goto_program, std::ostream &out) const |
void | insert (locationt l) |
Protected Types | |
typedef std::map< locationt, T > | state_mapt |
![]() | |
typedef std::map< unsigned, locationt > | working_sett |
typedef std::set< irep_idt > | functions_donet |
typedef std::set< irep_idt > | recursion_sett |
typedef domain_baset::expr_sett | expr_sett |
Protected Member Functions | |
virtual statet & | get_state (locationt l) |
virtual const statet & | get_state (locationt l) const |
virtual bool | merge (statet &a, const statet &b, locationt to) |
virtual std::unique_ptr< statet > | make_temporary_state (statet &s) |
virtual void | generate_state (locationt l) |
virtual void | get_reference_set (locationt l, const exprt &expr, std::list< exprt > &dest) |
virtual void | fixedpoint (const goto_functionst &goto_functions) |
![]() | |
virtual void | output (const goto_programt &goto_program, const irep_idt &identifier, std::ostream &out) const |
locationt | get_next (working_sett &working_set) |
void | put_in_working_set (working_sett &working_set, locationt l) |
bool | fixedpoint (const irep_idt &function_identifier, const goto_programt &goto_program, const goto_functionst &goto_functions) |
void | sequential_fixedpoint (const goto_functionst &goto_functions) |
void | concurrent_fixedpoint (const goto_functionst &goto_functions) |
bool | visit (const irep_idt &function_identifier, locationt l, working_sett &working_set, const goto_programt &goto_program, const goto_functionst &goto_functions) |
void | generate_states (const goto_functionst &goto_functions) |
void | generate_states (const goto_programt &goto_program) |
void | do_function_call_rec (const irep_idt &calling_function, locationt l_call, locationt l_return, const exprt &function, const exprt::operandst &arguments, statet &new_state, const goto_functionst &goto_functions) |
void | do_function_call (const irep_idt &calling_function, locationt l_call, locationt l_return, const goto_functionst &goto_functions, const goto_functionst::function_mapt::const_iterator f_it, const exprt::operandst &arguments, statet &new_state) |
Protected Attributes | |
state_mapt | state_map |
![]() | |
const namespacet & | ns |
functions_donet | functions_done |
recursion_sett | recursion_set |
bool | initialized |
Private Member Functions | |
void | dummy (const T &s) |
virtual bool | merge_shared (statet &, const statet &, goto_programt::const_targett) |
Additional Inherited Members | |
![]() | |
static exprt | get_guard (locationt from, locationt to) |
static exprt | get_return_lhs (locationt to) |
![]() | |
static locationt | successor (locationt l) |
Definition at line 279 of file static_analysis.h.
typedef goto_programt::const_targett static_analysist< T >::locationt |
Definition at line 288 of file static_analysis.h.
|
protected |
Definition at line 320 of file static_analysis.h.
|
inlineexplicit |
Definition at line 283 of file static_analysis.h.
|
inlinevirtual |
Reimplemented from static_analysis_baset.
Definition at line 308 of file static_analysis.h.
|
inlineprivate |
Definition at line 371 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Reimplemented in concurrency_aware_static_analysist< T >.
Definition at line 364 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Definition at line 351 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Definition at line 356 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Definition at line 323 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Definition at line 332 of file static_analysis.h.
|
inlinevirtual |
Implements static_analysis_baset.
Definition at line 314 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Definition at line 346 of file static_analysis.h.
|
inlineprotectedvirtual |
Implements static_analysis_baset.
Definition at line 341 of file static_analysis.h.
|
inlineprivatevirtual |
Implements static_analysis_baset.
Reimplemented in concurrency_aware_static_analysist< T >.
Definition at line 374 of file static_analysis.h.
|
inline |
Definition at line 290 of file static_analysis.h.
|
inline |
Definition at line 299 of file static_analysis.h.
|
protected |
Definition at line 321 of file static_analysis.h.