Gas-centered mutation testing of Ethereum Smart Contracts

Identificadores
URI: http://hdl.handle.net/10498/33189
DOI: 10.1002/smr.2672
ISSN: 2047-7473
ISSN: 2047-7481
Statistics
Metrics and citations
Metadata
Show full item recordDate
2024Department
Ingeniería InformáticaSource
Journal of Software: Evolution and ProcessAbstract
Smart contracts (SC) are programs embodying certain business logic stored on a blockchain network like Ethereum. The execution of transactions on SC has a cost, measured in gas units, that depends on the low-level operations performed. Therefore, a poor choice of high-level language constructs could lead to overcharging users for their transactions. Thus, a testing process focused on possible deviations of the gas used in diverse scenarios could provide substantial global savings. This paper presents a gas-centered mutation testing approach for taking care of the gas consumed by Solidity SCs. This approach can be useful to improve the test quality to detect gas-related problems, reason about performance issues that only manifest in certain situations, and identify alternative more optimal implementations. We define and implement several mutation operators specifically designed to perturb gas consump-
tion while preserving contract semantics in general. Our experiments using several real-world SCs show the feasibility of the technique, with some mutants reproducing meaningful differences in the consumption and exposing some gas limits not tight enough in historic transactions. Therefore, our approach is shown to be a good ally to prevent the appearance of gas-related issues and lays the groundwork for researchers seeking to improve performance testing practices.
Subjects
blockchain; Ethereum; gas consumption; mutation testing; smart contractCollections
- Artículos Científicos [11977]
- Articulos Científicos Ing. Inf. [313]






