6#include <unordered_set>
48 const std::string &idf);
53 bool is_instrumentation =
false);
58 bool is_instrumentation);
84 static std::set<std::pair<std::string, std::string>>
total_cond;
96 static std::set<std::pair<std::string, std::string>>
99 static std::set<std::pair<std::string, std::string>>
all_claims;
106 static std::map<std::pair<std::string, std::string>, std::string>
162 options.set_option(
"goto-instrumented",
true);
goto_convertt(contextt &_context, optionst &_options)
Definition goto_convert_class.h:30
optionst & options
Definition goto_convert_class.h:40
goto_coverage_rm(contextt &_context, optionst &_options, goto_functionst &goto_functions)
Definition goto_coverage.h:156
void remove_sideeffect()
Definition goto_coverage_rm.cpp:6
goto_functionst & goto_functions
Definition goto_coverage.h:165
static size_t total_branch
Definition goto_coverage.h:85
static std::set< std::pair< std::string, std::string > > k_path_spanning_redundant
Definition goto_coverage.h:97
void replace_all_asserts_to_assume()
Definition goto_coverage.cpp:119
void replace_assert_to_assume(goto_programt::instructiont::targett &it)
Definition goto_coverage.cpp:107
expr2tc handle_single_guard(const expr2tc &expr, bool top_level)
Definition goto_coverage.cpp:1267
std::string get_filename_from_path(std::string path)
Definition goto_coverage.cpp:39
expr2tc gen_not_eq_expr(const expr2tc &lhs, const expr2tc &rhs)
Definition goto_coverage.cpp:1213
goto_coveraget(const namespacet &ns, goto_functionst &goto_functions)
Definition goto_coverage.h:11
void gen_cond_cov_assert(const expr2tc &top_ptr, const expr2tc &pre_cond, goto_programt &goto_program, goto_programt::instructiont::targett &it)
Recurse into all sub-expressions of ptr, calling gen_cond_cov_assert on each.
Definition goto_coverage.cpp:1105
static size_t total_kpath_spanning
Definition goto_coverage.h:92
expr2tc gen_and_expr(const expr2tc &lhs, const expr2tc &rhs)
Definition goto_coverage.cpp:1219
namespacet ns
Definition goto_coverage.h:141
void k_path_coverage()
Definition goto_coverage.cpp:583
void handle_operands_guard(const expr2tc &expr, goto_programt &goto_program, goto_programt::instructiont::targett &it)
Definition goto_coverage.cpp:1351
static size_t total_assert_ins
Definition goto_coverage.h:83
void branch_coverage()
Definition goto_coverage.cpp:257
bool is_target_func(const irep_idt &f, const std::string &tgt_name) const
Definition goto_coverage.cpp:1396
bool filter(const irep_idt &func_name, const goto_programt &goto_program) const
Definition goto_coverage.cpp:1463
int get_total_instrument() const
Definition goto_coverage.cpp:874
goto_functionst & goto_functions
Definition goto_coverage.h:142
void set_target(const std::string &_tgt)
Definition goto_coverage.cpp:1390
static std::set< std::pair< std::string, std::string > > all_claims
Definition goto_coverage.h:99
expr2tc gen_not_expr(const expr2tc &expr) const
Definition goto_coverage.cpp:1227
std::string filename
Definition goto_coverage.h:148
std::string target_function
Definition goto_coverage.h:109
size_t k_path_n
Definition goto_coverage.h:120
void add_cond_cov_assert(const expr2tc &top_ptr, const expr2tc &pre_cond, goto_programt &goto_program, goto_programt::instructiont::targett &it)
Definition goto_coverage.cpp:1190
void condition_coverage()
Definition goto_coverage.cpp:955
void replace_all_asserts_to_guard(const expr2tc &guard, bool is_instrumentation=false)
Definition goto_coverage.cpp:51
static size_t total_assert
Definition goto_coverage.h:82
static std::set< std::pair< std::string, std::string > > total_cond
Definition goto_coverage.h:84
static size_t total_kpath
Definition goto_coverage.h:87
size_t k_path_witness_depth
Definition goto_coverage.h:121
void insert_assert(goto_programt &goto_program, goto_programt::targett &it, const expr2tc &guard)
Definition goto_coverage.cpp:840
goto_coveraget(const namespacet &ns, goto_functionst &goto_functions, const std::string filename)
Definition goto_coverage.h:16
std::set< std::pair< std::string, std::string > > get_total_cond_assert() const
Definition goto_coverage.cpp:910
int get_total_assert_instance() const
Definition goto_coverage.cpp:900
static std::map< std::pair< std::string, std::string >, std::string > claim_negation
Definition goto_coverage.h:107
size_t k_path_max_goals
Definition goto_coverage.h:122
void branch_function_coverage()
Definition goto_coverage.cpp:176
void negating_asserts(const std::string &tgt_fname)
Definition goto_coverage.cpp:1428
static size_t total_func_branch
Definition goto_coverage.h:86
void replace_assert_to_guard(const expr2tc &guard, goto_programt::instructiont::targett &it, bool is_instrumentation)
Definition goto_coverage.cpp:84
int target_num
Definition goto_coverage.h:150
void assertion_coverage()
Definition goto_coverage.cpp:150
bool cov_assume_asserts
Definition goto_coverage.h:110
Definition goto_functions.h:56
std::list< classinstructiont >::iterator targett
the targets for gotos and catch
Definition goto_program.h:130
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
Definition namespace.h:10
irep_container< expr2t > expr2tc
Definition irep2.h:431