43#include "instructions/instruction.h"
45#include "program/program.h"
47#include "tpg/tpgAction.h"
48#include "tpg/tpgGraph.h"
49#include "tpg/tpgTeam.h"
73 std::vector<std::reference_wrapper<const Data::DataHandler>>
74 dataSourcesAndRegisters;
The Environment class contains all information needed to execute a Program.
Definition: environment.h:84
The Program class contains a list of program lines that can be executed within a well defined Environ...
Definition: program.h:53
Definition: policyStats.h:67
std::vector< size_t > nbLinesPerProgram
Number of lines of analyzed Program.
Definition: policyStats.h:102
std::map< size_t, size_t > nbUsagePerInstruction
Definition: policyStats.h:112
std::vector< size_t > nbIntronPerProgram
Number of intron lines of analyzed Program.
Definition: policyStats.h:105
void analyzeLine(const Program::Line *line)
Analyze the given Line.
Definition: policyStats.cpp:68
size_t nbDistinctTeams
Number of distinct TPGTeams per policy.
Definition: policyStats.h:145
size_t maxPolicyDepth
Depth of the analyzed policy.
Definition: policyStats.h:133
void setEnvironment(const Environment &env)
Set Environement used during analyses.
Definition: policyStats.cpp:58
std::map< std::pair< size_t, size_t >, size_t > nbUsagePerDataLocation
Definition: policyStats.h:121
std::vector< size_t > nbOutgoingEdgesPerTeam
Number of outgoing TPGEdge of per TPGTeam of the TPGGraph.
Definition: policyStats.h:124
PolicyStats()=default
Default constructor.
void analyzeTPGAction(const TPG::TPGAction *action)
Definition: policyStats.cpp:144
void analyzeProgram(const Program::Program *prog)
Analyze the given Program.
Definition: policyStats.cpp:102
std::map< const TPGTeam *, size_t > nbUsePerTPGTeam
Number of time a TPGTeam was analyzed.
Definition: policyStats.h:91
friend std::ostream & operator<<(std::ostream &os, const PolicyStats &policyStats)
Overload of the stream output operator for the PolicyStats class.
std::map< size_t, size_t > nbTPGVertexPerDepthLevel
Definition: policyStats.h:142
std::map< size_t, size_t > nbUsagePerActionID
Definition: policyStats.h:130
void clear()
Definition: policyStats.cpp:42
std::map< const TPGAction *, size_t > nbUsePerTPGAction
Number of time a TPGAction was analyzed.
Definition: policyStats.h:99
std::map< const Program::Program *, size_t > nbUsePerProgram
Number of time a Program was analyzed.
Definition: policyStats.h:83
void analyzeTPGTeam(const TPG::TPGTeam *team)
Definition: policyStats.cpp:132
void analyzePolicy(const TPG::TPGVertex *vertex)
Definition: policyStats.cpp:153
Class representing an Action of a TPGGraph.
Definition: tpgAction.h:52
Abstract class representing the vertices of a TPGGraph.
Definition: tpgVertex.h:49
Definition: tpgActionInstrumented.h:8
std::ostream & operator<<(std::ostream &os, const PolicyStats &policyStats)
Overload of the stream output operator for the PolicyStats class.
Definition: policyStats.cpp:197