vandal
vandal copied to clipboard
Proper testing
The tests really need to be better. Some categories of tests to include (in no particular order):
- Functionality of each EVM operation
- Variables and lattice objects
- Def sites
- constant folding
- propagation of variable references between distant blocks
- Memory and state system (once memory_abstraction is eventually merged)
- Widening
- Stack Freezing
- Generic decompilation of a graph, checking that it has the right structure
- jump mutation / throw generation
- disassembly
- TSV output
- settings, both that they are set correctly, and that they have their desired effects