Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts

Mark Mossberg,Felipe Manzano,Eric Hennenfent,Alex Groce,Gustavo Grieco,Josselin Feist,Trent Brunson,Artem Dinaburg
DOI: https://doi.org/10.48550/arXiv.1907.03890
2019-11-18
Abstract:An effective way to maximize code coverage in software tests is through dynamic symbolic execution$-$a technique that uses constraint solving to systematically explore a program's state space. We introduce an open-source dynamic symbolic execution framework called Manticore for analyzing binaries and Ethereum smart contracts. Manticore's flexible architecture allows it to support both traditional and exotic execution environments, and its API allows users to customize their analysis. Here, we discuss Manticore's architecture and demonstrate the capabilities we have used to find bugs and verify the correctness of code for our commercial clients.
Software Engineering,Cryptography and Security
What problem does this paper attempt to address?