Automated Vulnerability Detection in Ethereum Bytecode: A Large Empirical Investigation
Evolution of Automated Weakness Detection in EVM Bytecode: a Comprehensive Study
This repository contains the empirical data of 'Evolution of Automated Weakness Detection in EVM Bytecode: a Comprehensive Study'. This repository contains:
- the 248328 unique smart contracts (in the skelcodes.tar.gz file)
- the results of the executions of 13 tools on the 248328 (in the results.tar.gz file)
- The results of RQ1 (in the variability.tar.gz)
The extension of SmartBugs to support bytecode analysis and the new tools is available at https://github.com/smartbugs/smartbugs.
Uncompressed size
- skelcodes.tar.gz: 4.7G
- emse_results.tar.gz: 138G
- variability.tar.gz: 2.3G
Repository structure
├─ results.tar.gz
│ └─ tool_name
│ └─ execution_name
│ └─ block-contract_address
│ ├─ result.log # stdout of the analysis
│ └─ result.json # parsable output analysis
├─ skelcodes.tar.gz
│ └─ block
│ └─ block-contract_address.hex
├─ variability.tar.gz
│ └─ tool_name
│ └─ execution_name
│ └─ block-contract_address
│ ├─ result.log # stdout of the analysis
└─ └─ result.json # parsable output
results.json structure
{
"contract": "path",
"tool": "tool_name",
"start": start_date,
"end": end_date,
"exit_code": docker_run_exit_code,
"duration": duration,
"findings": [finding_name],
"messages": [warning message],
"errors": [error message],
"fails": [failure_name],
"analysis": [tool_specific_output],
"parser": {
"name": "parser_name",
"version": "parser_version"
}
}