ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
ssa_step_algorithm Class Referenceabstract

Base interface for ssa-step algorithms. More...

#include <ssa_step_algorithm.h>

Inheritance diagram for ssa_step_algorithm:
[legend]

Public Member Functions

 ssa_step_algorithm (bool sideffect)
virtual BigInt ignored () const =0
 How many steps were ignored after this algorithm.
void run_on_step (symex_target_equationt::SSA_stept &)
virtual void run_on_assignment (symex_target_equationt::SSA_stept &)
virtual void run_on_assume (symex_target_equationt::SSA_stept &)
virtual void run_on_assert (symex_target_equationt::SSA_stept &)
virtual void run_on_output (symex_target_equationt::SSA_stept &)
virtual void run_on_skip (symex_target_equationt::SSA_stept &)
virtual void run_on_renumber (symex_target_equationt::SSA_stept &)
virtual void run_on_branching (symex_target_equationt::SSA_stept &)
Public Member Functions inherited from algorithm< symex_target_equationt::SSA_stepst >
 algorithm (bool sideeffect)
virtual ~algorithm ()=default
virtual bool run (symex_target_equationt::SSA_stepst &)=0
 Executes the algorithm over a T object.
bool has_sideeffect ()
 Says wether the algorithm is a plain analysis or if it also changes the structure.

Additional Inherited Members

Protected Attributes inherited from algorithm< symex_target_equationt::SSA_stepst >
const bool sideeffect

Detailed Description

Base interface for ssa-step algorithms.

Constructor & Destructor Documentation

◆ ssa_step_algorithm()

ssa_step_algorithm::ssa_step_algorithm ( bool sideffect)
inlineexplicit

Member Function Documentation

◆ ignored()

virtual BigInt ssa_step_algorithm::ignored ( ) const
pure virtual

How many steps were ignored after this algorithm.

Implemented in assertion_cache, slicer, ssa_features, and symmetry_breakingt.

◆ run_on_assert()

virtual void ssa_step_algorithm::run_on_assert ( symex_target_equationt::SSA_stept & )
inlinevirtual

Reimplemented in assertion_cache, and symex_slicet.

◆ run_on_assignment()

virtual void ssa_step_algorithm::run_on_assignment ( symex_target_equationt::SSA_stept & )
inlinevirtual

Reimplemented in symex_slicet.

◆ run_on_assume()

virtual void ssa_step_algorithm::run_on_assume ( symex_target_equationt::SSA_stept & )
inlinevirtual

Reimplemented in symex_slicet.

◆ run_on_branching()

virtual void ssa_step_algorithm::run_on_branching ( symex_target_equationt::SSA_stept & )
inlinevirtual

◆ run_on_output()

virtual void ssa_step_algorithm::run_on_output ( symex_target_equationt::SSA_stept & )
inlinevirtual

◆ run_on_renumber()

virtual void ssa_step_algorithm::run_on_renumber ( symex_target_equationt::SSA_stept & )
inlinevirtual

Reimplemented in symex_slicet.

◆ run_on_skip()

virtual void ssa_step_algorithm::run_on_skip ( symex_target_equationt::SSA_stept & )
inlinevirtual

◆ run_on_step()

void ssa_step_algorithm::run_on_step ( symex_target_equationt::SSA_stept & step)

The documentation for this class was generated from the following files: