oyente
oyente copied to clipboard
Remove global variables, use proper class/OOP encapsulation
The file and some files have quite a few global variables:
https://github.com/melonproject/oyente/blob/3fc108ca550aa5270ea5368fdb685b94f0e17450/oyente/symExec.py
Global variables introduce unnecessary complexity and signal poor design/security. This can be solved by proper OOP encapsulation and treat them as class data members. This also allows you to run multiple verifiers in parallel within the same Python process.
IMO this should be completely rewritten from python to golang, or include mult-threaded processing.