tealer
tealer copied to clipboard
Add generic dataflow framework + example + stack value analysis
- Add AbstractDataflow, which is a generic dataflow analysis, following an abstract interpretation approach.
- Add CollectInstruction, which is just an example. The analysis collects all the instructions executed
- Add StackValue, which track the values push/pop on the stack, with a focus on int/global field/transaction field
Build on top of 116
This is a draft. Todo list:
- Implement missing opcode handlers for important operations
- Add more tests (ex: to stress the merging operations)
Once this is done, the next step will be to increase the abstract value to also track light equation (ex: Eq(1, GroupSize)), and propagating them while collecting logical operations (or, and)