dry-analyzer
dry-analyzer copied to clipboard
Dr. Y's Ethereum Contract Analyzer
Especially for analyzing bamboo runtime code, it's crucial. Bamboo runtime first jumps into a program position indicated by the storage.
According to #31. This is useful for choosing paths #28 .
Currently the analyzer tries to follow every possible execution path. There can be an option to filter out the execution paths that require a particular caller, or preimage of a...
* [ ] design a url scheme for specifying a specific execution path (a sequence of booleans?) * [ ] encode and decode such url scheme * [ ] use...
A division instruction should produce two behaviors, one for divide by zero and the other for divide by non-zero. (When the divisor is known to be non-zero, only one behavior...
Currently, the results for long programs tend to be unreadable. Before improving this, we can already dissect the program into basic blocks and analyze each basic block separately.
Currently the analyzer stops at a `CALL` instruction. This issue keeps track of fixing this. After the `call` there would be three cases 1. the callee returns 2. the callee...
There is an optimized addition on abstract values `Aadd'` but it does not exist for - [ ] multiplications - [ ] signed division
This issue keeps track of testing the analyzer against the blockchain data from the testnet or the mainnet. This is maybe easier after #11.