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 
19 {
20 public:
21  void slice(symex_target_equationt &equation);
22 
23  void slice(symex_target_equationt &, const std::list<exprt> &);
24 
26  const symex_target_equationt &equation,
27  symbol_sett &open_variables);
28 
29 protected:
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