PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
GenerateProbingSets.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <cinttypes>
5#include <vector>
6#include <omp.h>
7
9
10namespace Hardware
11{
12 namespace GenerateProbingSets
13 {
20
28 bool InDistance(Hardware::SettingsStruct&, Hardware::TestStruct&, std::vector<unsigned int>&);
29
37
46 void InitializeMultivariateProbeCombinations(Hardware::SimulationStruct&, Hardware::TestStruct&, std::vector<unsigned int>&, std::vector<bool>&);
47
56 void InitializeUnivariateProbeCombinations(Hardware::SimulationStruct&, std::vector<unsigned int>&, std::vector<bool>&);
57
65
72
81 void CoverWithOneProbingSet(Hardware::TestStruct&, unsigned int, unsigned int, unsigned int);
82
91 void RemoveCoveredProbingSets(Hardware::TestStruct&, unsigned int, unsigned int);
92
101
110
119 }
120}
bool InDistance(Hardware::SettingsStruct &, Hardware::TestStruct &, std::vector< unsigned int > &)
Checks whether a probing set satisfies a specific distance.
void RemoveDuplicatedProbingSets(Hardware::SettingsStruct &, Hardware::SimulationStruct &, Hardware::TestStruct &)
Removes all duplicated probing sets.
void InitializeCompactDistributions(Hardware::SettingsStruct &, Hardware::SimulationStruct &, Hardware::TestStruct &)
Initializes the contingency tables in the compact mode.
void InitializeUnivariateProbeCombinations(Hardware::SimulationStruct &, std::vector< unsigned int > &, std::vector< bool > &)
Initializes the univariate probing set.
void Extend(Hardware::SimulationStruct &, Hardware::TestStruct &)
Extends all standard probes in all probing sets.
void GenerateProbes(Hardware::SimulationStruct &, Hardware::TestStruct &)
Generates lists of standard and extended probes.
void RemoveDuplicatedProbes(Hardware::TestStruct &)
Removes duplicated extended probes in all probing sets.
void InitializeMultivariateProbeCombinations(Hardware::SimulationStruct &, Hardware::TestStruct &, std::vector< unsigned int > &, std::vector< bool > &)
Initializes the multivariate probing set.
void All(Hardware::SettingsStruct &, Hardware::SimulationStruct &, Hardware::TestStruct &)
Generates the probing sets.
void CoverWithOneProbingSet(Hardware::TestStruct &, unsigned int, unsigned int, unsigned int)
Checks for one probing set if it is covered by another probing set.
void RemoveCoveredProbingSets(Hardware::TestStruct &, unsigned int, unsigned int)
Checks for all probing sets if they are covered by another probing set.
bool Remove(Hardware::ProbingSetStruct &)
Checks whether a probing set can be removed.
Defines a probing set.
Defines the settings of the evaluation procedure.
Defines all settings regarding simulations.
Defines all settings belonging to the test prodecure.