#include <program-state.h>
Static Public Member Functions | |
static void | detect_leaks (const program_state &src_state, const program_state &dest_state, const svalue *extra_sval, const extrinsic_state &ext_state, region_model_context *ctxt) |
Data Fields | |
region_model * | m_region_model |
auto_delete_vec< sm_state_map > | m_checker_states |
bool | m_valid |
A class for representing the state of interest at a given path of analysis. Currently this is a combination of: (a) a region_model, giving: (a.1) a hierarchy of memory regions (a.2) values for the regions (a.3) inequalities between values (b) sm_state_maps per state machine, giving a sparse mapping of values to states.
ana::program_state::program_state | ( | const extrinsic_state & | ext_state | ) |
Referenced by can_merge_with_p(), detect_leaks(), operator!=(), operator=(), operator==(), program_state(), program_state(), prune_for_point(), and replay_call_summary().
ana::program_state::program_state | ( | const program_state & | other | ) |
References program_state().
ana::program_state::program_state | ( | program_state && | other | ) |
References program_state().
ana::program_state::~program_state | ( | ) |
bool ana::program_state::can_merge_with_p | ( | const program_state & | other, |
const extrinsic_state & | ext_state, | ||
const program_point & | point, | ||
program_state * | out ) const |
References program_state().
bool ana::program_state::can_purge_base_region_p | ( | const extrinsic_state & | ext_state, |
const region * | base_reg ) const |
|
inline |
References ana::state_machine::can_purge_p(), FOR_EACH_VEC_ELT, ana::sm_state_map::get_state(), i, and m_checker_states.
|
static |
References program_state().
void ana::program_state::dump | ( | ) | const |
void ana::program_state::dump | ( | const extrinsic_state & | ext_state, |
bool | simple ) const |
void ana::program_state::dump_to_file | ( | const extrinsic_state & | ext_state, |
bool | simple, | ||
bool | multiline, | ||
FILE * | outf ) const |
void ana::program_state::dump_to_pp | ( | const extrinsic_state & | ext_state, |
bool | simple, | ||
bool | multiline, | ||
pretty_printer * | pp ) const |
const function * ana::program_state::get_current_function | ( | ) | const |
hashval_t ana::program_state::hash | ( | ) | const |
void ana::program_state::impl_call_analyzer_dump_state | ( | const gcall & | call, |
const extrinsic_state & | ext_state, | ||
region_model_context * | ctxt ) |
std::unique_ptr< text_art::tree_widget > ana::program_state::make_dump_widget | ( | const text_art::dump_widget_info & | dwi | ) | const |
bool ana::program_state::on_edge | ( | exploded_graph & | eg, |
exploded_node * | enode, | ||
const superedge * | succ, | ||
uncertainty_t * | uncertainty ) |
|
inline |
References program_state().
program_state & ana::program_state::operator= | ( | const program_state & | other | ) |
References program_state().
bool ana::program_state::operator== | ( | const program_state & | other | ) | const |
References program_state().
void ana::program_state::print | ( | const extrinsic_state & | ext_state, |
pretty_printer * | pp ) const |
program_state ana::program_state::prune_for_point | ( | exploded_graph & | eg, |
const program_point & | point, | ||
exploded_node * | enode_for_diag, | ||
uncertainty_t * | uncertainty ) const |
References program_state().
void ana::program_state::push_call | ( | exploded_graph & | eg, |
exploded_node * | enode, | ||
const gcall & | call_stmt, | ||
uncertainty_t * | uncertainty ) |
void ana::program_state::push_frame | ( | const extrinsic_state & | ext_state, |
const function & | fun ) |
bool ana::program_state::replay_call_summary | ( | call_summary_replay & | r, |
const program_state & | summary ) |
References program_state(), and r.
void ana::program_state::returning_call | ( | exploded_graph & | eg, |
exploded_node * | enode, | ||
const gcall & | call_stmt, | ||
uncertainty_t * | uncertainty ) |
std::unique_ptr< json::object > ana::program_state::to_json | ( | const extrinsic_state & | ext_state | ) | const |
void ana::program_state::validate | ( | const extrinsic_state & | ext_state | ) | const |
auto_delete_vec<sm_state_map> ana::program_state::m_checker_states |
Referenced by can_purge_p().
region_model* ana::program_state::m_region_model |
Referenced by starts_infinite_loop_p(), sufficiently_different_p(), and sufficiently_different_region_binding_p().
bool ana::program_state::m_valid |