PandA-2024.02
Data Fields
HWDiscrepancyInfo Struct Reference

#include <Discrepancy.hpp>

Collaboration diagram for HWDiscrepancyInfo:
Collaboration graph
[legend]

Data Fields

CustomUnorderedMap< unsigned int, UnorderedSetStdStable< unsigned int > > fu_id_to_states_to_check
 Maps every function ID to a set of states that must always be checked by the hardware discrepancy control flow checker. More...
 
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< unsigned int > > fu_id_to_feedback_states_to_check
 Maps every function ID to a set of states that must be checked by the hardware discrepancy control flow checker if the execution flow comes from a feedback_edges. More...
 
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< EdgeDescriptor > > fu_id_to_reset_edges
 Maps every function ID to a set EdgeDescriptors. More...
 
CustomUnorderedMap< unsigned int, size_tfu_id_to_epp_trace_bitsize
 Maps every function ID to the bitsize of the epp trace that is necessary for checking the control flow of that function. More...
 
CustomUnorderedMap< unsigned int, size_tfu_id_to_max_epp_path_val
 
CustomUnorderedSet< unsigned int > fu_id_control_flow_skip
 This set contains the ids of functions for which the control flow hardware discrepancy analyssi is not necessary. More...
 

Detailed Description

Definition at line 78 of file Discrepancy.hpp.

Field Documentation

◆ fu_id_control_flow_skip

CustomUnorderedSet<unsigned int> HWDiscrepancyInfo::fu_id_control_flow_skip

This set contains the ids of functions for which the control flow hardware discrepancy analyssi is not necessary.

If the FSM of a function is linear, i.e. it does not contain branches or loops, the control flow cannot diverge during its execution, so it is not necessary to check it with control flow discrepancy analysis.

Definition at line 119 of file Discrepancy.hpp.

◆ fu_id_to_epp_trace_bitsize

CustomUnorderedMap<unsigned int, size_t> HWDiscrepancyInfo::fu_id_to_epp_trace_bitsize

Maps every function ID to the bitsize of the epp trace that is necessary for checking the control flow of that function.

This bitsize is does not depend on the instance of the function, since the epp edge increments are always the same and this bitsize is the number of bits necessary to represent them

Definition at line 108 of file Discrepancy.hpp.

◆ fu_id_to_feedback_states_to_check

CustomUnorderedMap<unsigned int, UnorderedSetStdStable<unsigned int> > HWDiscrepancyInfo::fu_id_to_feedback_states_to_check

Maps every function ID to a set of states that must be checked by the hardware discrepancy control flow checker if the execution flow comes from a feedback_edges.

Definition at line 91 of file Discrepancy.hpp.

◆ fu_id_to_max_epp_path_val

CustomUnorderedMap<unsigned int, size_t> HWDiscrepancyInfo::fu_id_to_max_epp_path_val

Definition at line 110 of file Discrepancy.hpp.

◆ fu_id_to_reset_edges

CustomUnorderedMap<unsigned int, UnorderedSetStdStable<EdgeDescriptor> > HWDiscrepancyInfo::fu_id_to_reset_edges

Maps every function ID to a set EdgeDescriptors.

Each edge represents an edge along which the epp counter have to be reset. These edges are StateTransition edges of the StateTransitionGraph of the associated function.

Definition at line 99 of file Discrepancy.hpp.

◆ fu_id_to_states_to_check

CustomUnorderedMap<unsigned int, UnorderedSetStdStable<unsigned int> > HWDiscrepancyInfo::fu_id_to_states_to_check

Maps every function ID to a set of states that must always be checked by the hardware discrepancy control flow checker.

Definition at line 84 of file Discrepancy.hpp.


The documentation for this struct was generated from the following file:

Generated on Mon Feb 12 2024 13:03:55 for PandA-2024.02 by doxygen 1.8.13