44#include "instructions/instruction.h"
46#include "program/program.h"
48#include "tpg/tpgAction.h"
49#include "tpg/tpgGraph.h"
50#include "tpg/tpgTeam.h"
74 std::vector<std::reference_wrapper<const Data::DataHandler>>
75 dataSourcesAndRegisters;
152 std::map<std::pair<size_t, size_t>,
size_t>
The Environment class contains all information needed to execute a Program.
Definition environment.h:86
The Program class contains a list of program lines that can be executed within a well defined Environ...
Definition program.h:57
Definition policyStats.h:68
std::vector< size_t > nbLinesPerProgram
Number of lines of analyzed Program.
Definition policyStats.h:111
std::map< size_t, size_t > nbUsagePerInstruction
Definition policyStats.h:127
std::vector< size_t > nbIntronPerProgram
Number of intron lines of analyzed Program.
Definition policyStats.h:117
size_t nbDistinctTeams
Number of distinct TPGTeams per policy.
Definition policyStats.h:177
std::map< size_t, size_t > nbUsagePerInstructionActionProg
Definition policyStats.h:134
std::map< const Program::Program *, size_t > nbUsePerActionProgram
Number of time a Program was analyzed.
Definition policyStats.h:92
size_t maxPolicyDepth
Depth of the analyzed policy.
Definition policyStats.h:165
void setEnvironment(const Environment &env)
Set Environement used during analyses.
Definition policyStats.cpp:161
std::map< std::pair< size_t, size_t >, size_t > nbUsagePerDataLocation
Definition policyStats.h:143
std::vector< size_t > nbOutgoingEdgesPerTeam
Number of outgoing TPGEdge of per TPGTeam of the TPGGraph.
Definition policyStats.h:156
std::vector< size_t > nbLinesPerActionProgram
Number of lines of analyzed Program.
Definition policyStats.h:114
PolicyStats()=default
Default constructor.
void analyzeTPGAction(const TPG::TPGAction *action)
Definition policyStats.cpp:249
void analyzeProgram(const Program::Program *prog)
Analyze the given Program.
Definition policyStats.cpp:205
std::vector< size_t > nbIntronPerActionProgram
Number of intron lines of analyzed Program.
Definition policyStats.h:120
std::map< std::pair< size_t, size_t >, size_t > nbUsagePerDataLocationActionProg
Definition policyStats.h:153
std::map< const TPGTeam *, size_t > nbUsePerTPGTeam
Number of time a TPGTeam was analyzed.
Definition policyStats.h:100
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:174
std::map< size_t, size_t > nbUsagePerActionID
Definition policyStats.h:162
void analyzeLine(const Program::Line *line, bool actionProgram=false)
Analyze the given Line.
Definition policyStats.cpp:170
void clear()
Definition policyStats.cpp:140
std::map< const TPGAction *, size_t > nbUsePerTPGAction
Number of time a TPGAction was analyzed.
Definition policyStats.h:108
std::map< const Program::Program *, size_t > nbUsePerProgram
Number of time a Program was analyzed.
Definition policyStats.h:84
void analyzeTPGTeam(const TPG::TPGTeam *team)
Definition policyStats.cpp:240
void analyzePolicy(const TPG::TPGVertex *vertex)
Definition policyStats.cpp:255
Class representing an Action of a TPGGraph.
Definition tpgAction.h:55
Abstract class representing the vertices of a TPGGraph.
Definition tpgVertex.h:55
Definition executionStats.h:44
std::ostream & operator<<(std::ostream &os, const PolicyStats &policyStats)
Overload of the stream output operator for the PolicyStats class.
Definition policyStats.cpp:290