Mutation testing of smart contracts at scale

Conference Paper (2020)
Author(s)

Pieter Hartel (TU Delft - Electrical Engineering, Mathematics and Computer Science, Singapore University of Technology and Design)

Richard Schumi (Singapore Management University)

Research Group
Cyber Security
DOI related publication
https://doi.org/10.1007/978-3-030-50995-8_2 Final published version
More Info
expand_more
Publication Year
2020
Language
English
Research Group
Cyber Security
Pages (from-to)
23-42
ISBN (print)
9783030509941
Event
14th International Conference on Tests and Proofs, TAP 2020, held as part of Software Technologies: Applications and Foundations, STAF 2020 (2020-06-22 - 2020-06-23), Bergen, Norway
Downloads counter
151

Abstract

It is crucial that smart contracts are tested thoroughly due to their immutable nature. Even small bugs in smart contracts can lead to huge monetary losses. However, testing is not enough; it is also important to ensure the quality and completeness of the tests. There are already several approaches that tackle this challenge with mutation testing, but their effectiveness is questionable since they only considered small contract samples. Hence, we evaluate the quality of smart contract mutation testing at scale. We choose the most promising of the existing (smart contract specific) mutation operators, analyse their effectiveness in terms of killability and highlight severe vulnerabilities that can be injected with the mutations. Moreover, we improve the existing mutation methods by introducing a novel killing condition that is able to detect a deviation in the gas consumption, i.e., in the monetary value that is required to perform transactions.