renardbebe / Smart-Contract-Benchmark-Suites

A unified smart contract standard data set.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smart-Contract-Benchmark-Suites: A Unified Dataset

Empirical Evaluation of Smart Contract Testing: What Is the Best Choice?

Overview

DATASET: The 46,186 contracts are available in /dataset folder.

RESULTS: The experimental results of each category are in /experiments-config folder.

TOOLS: nine representive tools for experiments are listed below:

⭐ More information pleasr refer to our paper.

Getting Started

Step1. Prepare the tools.

> Follow the instructions on each tool's page or pull the images from Docker Hub.

Step2. Select some contracts as the test suite.

> Use all or randomly select a subset of contracts from each category.

Step3. Run each tool with different settings.

> Provide each tool with different runtime parameters, and count the execution results.

Required Operating System: Linux

Detailed Description

To make up for the lack of a unified test set, we construct a benchmark suite with contracts crawled from Etherscan, SolidiFI repository, Common Vulnerabilities and Exposures library and Smart Contract Weakness Classification and Test Cases library. They can be classified into three categories: 1) unlabeled real-world contracts; 2) contracts with manually injected bugs; 3) confirmed vulnerable contracts. We believe that the evaluation results will generalize due to the size and diversity of our benchmarks.

We also provide the statistical data of our experiments for reference.

About

A unified smart contract standard data set.


Languages

Language:Solidity 100.0%