---
# System prepended metadata

title: 'Practical Symbolic Execution for EVM - Palina Tolmach, MakerDAO'
tags: [DAY2, '2023', DEFI]

---

# Practical Symbolic Execution for EVM - Palina Tolmach, MakerDAO

###### tags: `2023`, `DAY2`, `DEFI`
{%hackmd @ethtaipei/ByQLufgQ2 %}

> Share your thoughts from here


### Why
* Symbolic execution is a verficiation / bug finding technique
* symbloic execution and formal verificaion are more **comprehensive** ways to test the codebae
* unit tests are important, but it is also limited in terms of the states a contract code could be in

### What
SMT solver

### 
Symbloic testing
* run symbolic execution on the tests
* integrating into foundry to use `prove` as prefix and run the symblic exeuction on the tests it self

## More Detail
* https://hackmd.io/@SaferMaker/EVM-Sym-Exec

## QA Notes
* Hashing function is a bottleneck for SMT solvers
* The complexity (resoures needed) grows exponentially with the size of the code base