CBMC
symex_slice_class.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Slicer for symex traces
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_SYMEX_SYMEX_SLICE_CLASS_H
13
#define CPROVER_GOTO_SYMEX_SYMEX_SLICE_CLASS_H
14
15
#include "
symex_target_equation.h
"
16
#include "
slice.h
"
17
18
class
symex_slicet
19
{
20
public
:
21
void
slice
(
symex_target_equationt
&equation);
22
23
void
slice
(
symex_target_equationt
&,
const
std::list<exprt> &);
24
25
void
collect_open_variables
(
26
const
symex_target_equationt
&equation,
27
symbol_sett
&open_variables);
28
29
protected
:
30
symbol_sett
depends
;
31
32
void
get_symbols
(
const
exprt
&expr);
33
34
void
slice
(
SSA_stept
&SSA_step);
35
void
slice_assignment
(
SSA_stept
&SSA_step);
36
void
slice_decl
(
SSA_stept
&SSA_step);
37
};
38
39
#endif // CPROVER_GOTO_SYMEX_SYMEX_SLICE_CLASS_H
symex_target_equation.h
symex_slicet::slice_decl
void slice_decl(SSA_stept &SSA_step)
Definition:
slice.cpp:123
SSA_stept
Single SSA step in the equation.
Definition:
ssa_step.h:46
symex_slicet
Definition:
symex_slice_class.h:18
exprt
Base class for all expressions.
Definition:
expr.h:55
symex_slicet::slice
void slice(symex_target_equationt &equation)
Definition:
slice.cpp:34
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:33
symex_slicet::collect_open_variables
void collect_open_variables(const symex_target_equationt &equation, symbol_sett &open_variables)
Collect the open variables, i.e., variables that are used in RHS but never written in LHS.
Definition:
slice.cpp:138
symbol_sett
std::unordered_set< irep_idt > symbol_sett
Definition:
slice.h:39
symex_slicet::depends
symbol_sett depends
Definition:
symex_slice_class.h:30
symex_slicet::get_symbols
void get_symbols(const exprt &expr)
Definition:
slice.cpp:18
slice.h
symex_slicet::slice_assignment
void slice_assignment(SSA_stept &SSA_step)
Definition:
slice.cpp:104
src
goto-symex
symex_slice_class.h
Generated by
1.8.17