cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
goto_symex_fault_localizer.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Fault Localization for Goto Symex
4
5
Author: Peter Schrammel
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_CHECKER_GOTO_SYMEX_FAULT_LOCALIZER_H
13
#define CPROVER_GOTO_CHECKER_GOTO_SYMEX_FAULT_LOCALIZER_H
14
15
#include <
util/threeval.h
>
16
17
#include "
fault_localization_provider.h
"
18
19
class
optionst
;
20
class
stack_decision_proceduret
;
21
class
symex_target_equationt
;
22
class
SSA_stept
;
23
class
ui_message_handlert
;
24
25
class
goto_symex_fault_localizert
26
{
27
public
:
28
goto_symex_fault_localizert
(
29
const
optionst
&
options
,
30
ui_message_handlert
&
ui_message_handler
,
31
const
symex_target_equationt
&
equation
,
32
stack_decision_proceduret
&
solver
);
33
34
fault_location_infot
operator()
(
const
irep_idt
&failed_property_id);
35
36
protected
:
37
const
optionst
&
options
;
38
ui_message_handlert
&
ui_message_handler
;
39
const
symex_target_equationt
&
equation
;
40
stack_decision_proceduret
&
solver
;
41
43
typedef
std::map<exprt, fault_location_infot::score_mapt::iterator>
44
localization_pointst
;
45
49
const
SSA_stept
&
collect_guards
(
50
const
irep_idt
&failed_property_id,
51
localization_pointst
&localization_points,
52
fault_location_infot
&fault_location);
53
54
// specify a localization point combination to check
55
typedef
std::vector<tvt>
localization_points_valuet
;
56
bool
check
(
57
const
SSA_stept
&failed_step,
58
const
localization_pointst
&,
59
const
localization_points_valuet
&);
60
61
void
update_scores
(
const
localization_pointst
&);
62
63
// localization method: flip each point
64
void
65
localize_linear
(
const
SSA_stept
&failed_step,
const
localization_pointst
&);
66
};
67
68
#endif
// CPROVER_GOTO_CHECKER_GOTO_SYMEX_FAULT_LOCALIZER_H
SSA_stept
Single SSA step in the equation.
Definition
ssa_step.h:47
goto_symex_fault_localizert::ui_message_handler
ui_message_handlert & ui_message_handler
Definition
goto_symex_fault_localizer.h:38
goto_symex_fault_localizert::check
bool check(const SSA_stept &failed_step, const localization_pointst &, const localization_points_valuet &)
Definition
goto_symex_fault_localizer.cpp:80
goto_symex_fault_localizert::localization_pointst
std::map< exprt, fault_location_infot::score_mapt::iterator > localization_pointst
A localization point is a goto instruction that is potentially at fault.
Definition
goto_symex_fault_localizer.h:44
goto_symex_fault_localizert::goto_symex_fault_localizert
goto_symex_fault_localizert(const optionst &options, ui_message_handlert &ui_message_handler, const symex_target_equationt &equation, stack_decision_proceduret &solver)
Definition
goto_symex_fault_localizer.cpp:20
goto_symex_fault_localizert::operator()
fault_location_infot operator()(const irep_idt &failed_property_id)
Definition
goto_symex_fault_localizer.cpp:33
goto_symex_fault_localizert::collect_guards
const SSA_stept & collect_guards(const irep_idt &failed_property_id, localization_pointst &localization_points, fault_location_infot &fault_location)
Collects the guards as localization_points up to failed_property_id and initializes fault_location_in...
Definition
goto_symex_fault_localizer.cpp:53
goto_symex_fault_localizert::solver
stack_decision_proceduret & solver
Definition
goto_symex_fault_localizer.h:40
goto_symex_fault_localizert::update_scores
void update_scores(const localization_pointst &)
Definition
goto_symex_fault_localizer.cpp:105
goto_symex_fault_localizert::localize_linear
void localize_linear(const SSA_stept &failed_step, const localization_pointst &)
Definition
goto_symex_fault_localizer.cpp:122
goto_symex_fault_localizert::equation
const symex_target_equationt & equation
Definition
goto_symex_fault_localizer.h:39
goto_symex_fault_localizert::localization_points_valuet
std::vector< tvt > localization_points_valuet
Definition
goto_symex_fault_localizer.h:55
goto_symex_fault_localizert::options
const optionst & options
Definition
goto_symex_fault_localizer.h:37
optionst
Definition
options.h:23
stack_decision_proceduret
Definition
stack_decision_procedure.h:58
symex_target_equationt
Inheriting the interface of symex_targett this class represents the SSA form of the input program as ...
Definition
symex_target_equation.h:34
ui_message_handlert
Definition
ui_message.h:22
fault_localization_provider.h
Interface for Goto Checkers to provide Fault Localization.
fault_location_infot
Definition
fault_localization_provider.h:23
threeval.h
irep_idt
dstringt irep_idt
Definition
verification_result.h:16
goto-checker
goto_symex_fault_localizer.h
Generated by
1.17.0