24 i_it->turn_into_skip();
26 const bool is_function_entry_point =
28 const bool is_conditional_goto =
29 i_it->is_goto() && !i_it->condition().is_true();
30 if(!is_function_entry_point && !is_conditional_goto)
36 if(is_function_entry_point)
40 std::string
comment =
"entry point";
45 i_it, make_assertion(
false_exprt(), source_location));
48 if(is_conditional_goto)
52 std::string true_comment =
"block " + b +
" branch true";
53 std::string false_comment =
"block " + b +
" branch false";
64 *i_it = make_assertion(
guard, source_location);
66 std::advance(i_it, 2);
static exprt guard(const exprt::operandst &guards, exprt cond)
virtual std::size_t block_of(goto_programt::const_targett t) const =0
void instrument(const irep_idt &function_id, goto_programt &, goto_programt::targett &, const cover_blocks_baset &, const assertion_factoryt &) const override
Override this method to implement an instrumenter.
const goal_filterst & goal_filters
bool is_non_cover_assertion(goto_programt::const_targett t) const
void initialize_source_location(source_locationt &source_location, const std::string &comment, const irep_idt &function_id) const
std::function< goto_programt::instructiont(const exprt &, const source_locationt &)> assertion_factoryt
The type of function used to make goto_program assertions.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
The Boolean constant false.
A generic container class for the GOTO intermediate representation of one function.
instructionst instructions
The list of instructions in the goto program.
void insert_before_swap(targett target)
Insertion that preserves jumps to "target".
instructionst::iterator targett
targett insert_before(const_targett target)
Insertion before the instruction pointed-to by the given instruction iterator target.
Basic blocks detection for Coverage Instrumentation.
Filters for the Coverage Instrumentation.
Coverage Instrumentation.
static std::string comment(const rw_set_baset::entryt &entry, bool write)
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.