mojtaba-eshghie / HighGuard

The runtime monitoring tool for smart contracts high-level properties.
https://arxiv.org/abs/2305.08254
MIT License
5 stars 2 forks source link

Add in-depth support for a loop of continous monitoring/exploitation #45

Open mojtaba-eshghie opened 7 months ago

mojtaba-eshghie commented 7 months ago

The exploit runner based on different test environment is ready.

Do we want to generate the report based on the exploits or the models? Neither; we would like to generate a contract-based report; and for each contract there could be several models running at the same time monitoring different aspects of the execution. Therefore, the generated report should be something in the lines of: SampleContract

In short, the contract transaction indices are global (per contract) and we mark which transaction which model captures.

We need to build the system:

mojtaba-eshghie commented 7 months ago

Detailed report:

SampleContract

Monitored against: Model1

Summary report:

Contract Exploit/Test Exploit/Test Details Captured Violations
SampleContract Contract1Temporal Exploited Successfully -
mojtaba-eshghie commented 7 months ago

We would like to run parallel exploits/experiments to increase the performance; however, we need to care about the fact that we need to keep track of each test that runs and monitor cannot distinguish between multiple exploit versions. Therefore, parallel sessions of the environment+monitor+exploit_runner are required together to keep track of the things correctly.