34 std::size_t pass=0, fail=0, unknown=0;
49 if(!f_it->second.body.has_assertion())
54 if(!i_it->is_assert())
73 else if(domain.is_bottom())
84 j[
"sourceLocation"]=
json(i_it->source_location);
98 if(!f_it->second.body.has_assertion())
103 if(!i_it->is_assert())
106 exprt e(i_it->guard);
122 else if(domain.is_bottom())
137 id2string(i_it->source_location.get_comment()));
152 if(!f_it->second.body.has_assertion())
155 out <<
"******** Function " << f_it->first <<
'\n';
159 if(!i_it->is_assert())
162 exprt e(i_it->guard);
166 out <<
'[' << i_it->source_location.get_property_id()
169 out << i_it->source_location;
171 if(!i_it->source_location.get_comment().empty())
172 out <<
", " << i_it->source_location.get_comment();
183 out <<
"Failure (if reachable)";
186 else if(domain.is_bottom())
188 out <<
"Success (unreachable)";
206 << fail <<
" fail if reachable, " 207 << unknown <<
" unknown\n";
const std::string & id2string(const irep_idt &d)
mstreamt & progress() const
symbol_tablet symbol_table
Symbol table.
static mstreamt & eom(mstreamt &m)
#define INVARIANT(CONDITION, REASON)
jsont & push_back(const jsont &json)
virtual bool ai_simplify(exprt &condition, const namespacet &ns) const
bool get_bool_option(const std::string &option) const
void set_attribute(const std::string &attribute, unsigned value)
xmlt & new_element(const std::string &name)
bool static_verifier(const goto_modelt &goto_model, const ai_baset &ai, const optionst &options, message_handlert &message_handler, std::ostream &out)
Runs the analyzer and then prints out the domain.
mstreamt & status() const
Base class for all expressions.
virtual const ai_domain_baset & abstract_state_before(goto_programt::const_targett t) const =0
Returns the abstract state before the given instruction.
json_objectt & make_object()
goto_programt coverage_criteriont message_handlert & message_handler
#define forall_goto_functions(it, functions)
#define forall_goto_program_instructions(it, program)
goto_functionst goto_functions
GOTO functions.
json_objectt json(const source_locationt &location)