Gas limit aware mutation testing of smart contracts at scale

09/27/2019
by   Pieter Hartel, et al.
0

The blockchain is a key technology that has been adopted in many application areas to increase security and reliability and to avoid the need for a central trusted authority. One of its essential underlying foundations are smart contracts, which are executable programs for managing data or assets on the blockchain. It is crucial that smart contracts are tested thoroughly due to their immutable nature and since even small bugs can lead to huge monetary losses. However, it is not enough to just test smart contracts, it is also important to ensure the quality and completeness of the tests. Hence, we introduce new smart contract specific mutation operators as well as a novel killing condition that is able to detect a deviation in the gas consumptions, i.e., in the monetary value that is required to perform transactions. Moreover, we establish a baseline for mutation testing of smart contracts by applying our method to a replay test suite and by testing about a thousand contracts.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/10/2019

Testing Smart Contracts Gets Smarter

Smart contracts are immutable, verifiable, and autonomous pieces of code...
research
05/08/2021

SuMo: A Mutation Testing Strategy for Solidity Smart Contracts

Smart Contracts are software programs that are deployed and executed wit...
research
12/12/2019

Smart Contract Repair

Smart contracts are automated or self-enforcing contracts that can be us...
research
10/06/2019

GasFuzz: Generating High Gas Consumption Inputs to Avoid Out-of-Gas Vulnerability

The out-of-gas error occurs when smart contract programs are provided wi...
research
04/27/2018

Enforceable Data Sharing Agreements Using Smart Contracts

As more and more data is collected for various reasons, the sharing of s...
research
06/29/2023

ItyFuzz: Snapshot-Based Fuzzer for Smart Contract

Smart contracts are critical financial instruments, and their security i...
research
08/07/2019

Auditable Credential Anonymity Revocation Based on Privacy-Preserving Smart Contracts

Anonymity revocation is an essential component of credential issuing sys...

Please sign up or login with your details

Forgot password? Click here to reset