Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
6-2020
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.
Keywords
Mutation testing, Ethereum, Smart contracts, Solidity, Gas limit as a killing criterion, Vulnerability injection, Modifier issues
Discipline
Software Engineering
Publication
Proceedings of the 14th International Conference, TAP 2020, Bergen, Norway, June 22-23
Volume
12165 LNCS
First Page
23
Last Page
42
ISBN
9783030509941
Identifier
10.1007/978-3-030-50995-8_2
Publisher
Springer
City or Country
Cham
Citation
HARTEL, Pieter and SCHUMI, Richard.
Mutation testing of smart contracts at scale. (2020). Proceedings of the 14th International Conference, TAP 2020, Bergen, Norway, June 22-23. 12165 LNCS, 23-42.
Available at: https://ink.library.smu.edu.sg/sis_research/10174
Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1007/978-3-030-50995-8_2