arrow
Return

Mutation Testing for Integer Overflow in Ethereum Smart Contracts

delete2022-02-01
delete26
delete
OA
AI
J
Jinlei Sun
黄松 cover
黄松 (Song Huang)
C
Changyou Zheng *
T
Tingyong Wang
C
Cheng Zong
Z
Zhanwei Hui
DOI:10.26599/TST.2020.9010036delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Integer overflow is a common vulnerability in Ethereum Smart Contracts (ESCs) and often causes huge economic losses. Smart contracts cannot be changed once it is deployed on the blockchain and thus demand further testing. Mutation testing is a fault-based testing method that can effectively improve the sufficiency of a test for smart contracts. However, existing methods cannot efficiently perform mutation testing specifically for integer overflow in ESCs. Therefore, by analyzing integer overflow in ESCs, we propose five special mutation operators to address such vulnerability in terms of detecting sufficiency in ESC testing. An empirical study on 40 open-source ESCs is conducted to evaluate the effectiveness of the proposed mutation operators. Results show that (1) our proposed mutation operators can reproduce all 179 integer overflow vulnerabilities in 40 smart contracts, and the generated mutants have high compilation pass rate and integer overflow vulnerability generation rate; moreover, (2) the generated mutants can find the shortcomings of existing testing methods for integer overflow vulnerability, thereby providing effective support to improve the sufficiency of the test.
Keywords:
blockchain
Ethereum Smart Contracts (ESCs)
integer overflow
mutation testing

Journal

T
Tsinghua Science and Technology
IF:
3.5
Papers:
987
Citations:
2.5K

Organization

A
Army Engineering University of PLA
Scholars:
5.0K
Papers: 3.7K
Citations: 5