Practical Mutation Testing for Smart Contracts

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

1 Downloads (Pure)

Abstract

Solidity smart contracts operate in a hostile environment, which introduces the need for the adequate application of testing techniques to ensure mitigation of the risk of a security incident. Mutation testing is one such technique. It allows for the evaluation of the efficiency of a test suite in detecting faults in a program, allowing developers to both assess and improve the quality of their test suites. In this paper, we propose a mutation testing framework and implement a prototype implementation called Vertigo that targets Solidity contracts for the Ethereum blockchain. We also show that mutation testing can be used to assess the test suites of real-world projects.
Original languageEnglish
Title of host publicationData Privacy Management, Cryptocurrencies and Blockchain Technology
Subtitle of host publicationESORICS 2019 International Workshops, DPM 2019 and CBT 2019, Luxembourg, September 26-27, 2019, Proceedings
EditorsCristina Pérez-Solà, Guillermo Navarro-Arribas, Alex Biryukov, Joaquín García-Alfaro
Place of PublicationCham
PublisherSpringer
Pages289-303
Number of pages15
ISBN (Electronic)978-3-030-31500-9
ISBN (Print)978-3-030-31499-6
DOIs
Publication statusPublished - 2019
Event3rd International Workshop on Cryptocurrencies and Blockchain Technology, CBT 2019 - Luxembourg, Luxembourg
Duration: 26 Sep 201927 Sep 2019
Conference number: 3

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume11737
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference3rd International Workshop on Cryptocurrencies and Blockchain Technology, CBT 2019
Abbreviated titleCBT
CountryLuxembourg
CityLuxembourg
Period26/09/1927/09/19

Fingerprint

Testing

Keywords

  • Mutation testing
  • Smart contract
  • Solidity

Cite this

Honig, J. J., Everts, M. H., & Huisman, M. (2019). Practical Mutation Testing for Smart Contracts. In C. Pérez-Solà, G. Navarro-Arribas, A. Biryukov, & J. García-Alfaro (Eds.), Data Privacy Management, Cryptocurrencies and Blockchain Technology: ESORICS 2019 International Workshops, DPM 2019 and CBT 2019, Luxembourg, September 26-27, 2019, Proceedings (pp. 289-303). (Lecture Notes in Computer Science; Vol. 11737). Cham: Springer. https://doi.org/10.1007/978-3-030-31500-9_19
Honig, Joran J. ; Everts, Maarten H. ; Huisman, Marieke. / Practical Mutation Testing for Smart Contracts. Data Privacy Management, Cryptocurrencies and Blockchain Technology: ESORICS 2019 International Workshops, DPM 2019 and CBT 2019, Luxembourg, September 26-27, 2019, Proceedings. editor / Cristina Pérez-Solà ; Guillermo Navarro-Arribas ; Alex Biryukov ; Joaquín García-Alfaro. Cham : Springer, 2019. pp. 289-303 (Lecture Notes in Computer Science).
@inproceedings{4d5ae2db225f4c43b82b33b38293d4a7,
title = "Practical Mutation Testing for Smart Contracts",
abstract = "Solidity smart contracts operate in a hostile environment, which introduces the need for the adequate application of testing techniques to ensure mitigation of the risk of a security incident. Mutation testing is one such technique. It allows for the evaluation of the efficiency of a test suite in detecting faults in a program, allowing developers to both assess and improve the quality of their test suites. In this paper, we propose a mutation testing framework and implement a prototype implementation called Vertigo that targets Solidity contracts for the Ethereum blockchain. We also show that mutation testing can be used to assess the test suites of real-world projects.",
keywords = "Mutation testing, Smart contract, Solidity",
author = "Honig, {Joran J.} and Everts, {Maarten H.} and Marieke Huisman",
year = "2019",
doi = "10.1007/978-3-030-31500-9_19",
language = "English",
isbn = "978-3-030-31499-6",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "289--303",
editor = "Cristina P{\'e}rez-Sol{\`a} and Guillermo Navarro-Arribas and Alex Biryukov and Joaqu{\'i}n Garc{\'i}a-Alfaro",
booktitle = "Data Privacy Management, Cryptocurrencies and Blockchain Technology",

}

Honig, JJ, Everts, MH & Huisman, M 2019, Practical Mutation Testing for Smart Contracts. in C Pérez-Solà, G Navarro-Arribas, A Biryukov & J García-Alfaro (eds), Data Privacy Management, Cryptocurrencies and Blockchain Technology: ESORICS 2019 International Workshops, DPM 2019 and CBT 2019, Luxembourg, September 26-27, 2019, Proceedings. Lecture Notes in Computer Science, vol. 11737, Springer, Cham, pp. 289-303, 3rd International Workshop on Cryptocurrencies and Blockchain Technology, CBT 2019, Luxembourg, Luxembourg, 26/09/19. https://doi.org/10.1007/978-3-030-31500-9_19

Practical Mutation Testing for Smart Contracts. / Honig, Joran J.; Everts, Maarten H.; Huisman, Marieke.

Data Privacy Management, Cryptocurrencies and Blockchain Technology: ESORICS 2019 International Workshops, DPM 2019 and CBT 2019, Luxembourg, September 26-27, 2019, Proceedings. ed. / Cristina Pérez-Solà; Guillermo Navarro-Arribas; Alex Biryukov; Joaquín García-Alfaro. Cham : Springer, 2019. p. 289-303 (Lecture Notes in Computer Science; Vol. 11737).

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

TY - GEN

T1 - Practical Mutation Testing for Smart Contracts

AU - Honig, Joran J.

AU - Everts, Maarten H.

AU - Huisman, Marieke

PY - 2019

Y1 - 2019

N2 - Solidity smart contracts operate in a hostile environment, which introduces the need for the adequate application of testing techniques to ensure mitigation of the risk of a security incident. Mutation testing is one such technique. It allows for the evaluation of the efficiency of a test suite in detecting faults in a program, allowing developers to both assess and improve the quality of their test suites. In this paper, we propose a mutation testing framework and implement a prototype implementation called Vertigo that targets Solidity contracts for the Ethereum blockchain. We also show that mutation testing can be used to assess the test suites of real-world projects.

AB - Solidity smart contracts operate in a hostile environment, which introduces the need for the adequate application of testing techniques to ensure mitigation of the risk of a security incident. Mutation testing is one such technique. It allows for the evaluation of the efficiency of a test suite in detecting faults in a program, allowing developers to both assess and improve the quality of their test suites. In this paper, we propose a mutation testing framework and implement a prototype implementation called Vertigo that targets Solidity contracts for the Ethereum blockchain. We also show that mutation testing can be used to assess the test suites of real-world projects.

KW - Mutation testing

KW - Smart contract

KW - Solidity

U2 - 10.1007/978-3-030-31500-9_19

DO - 10.1007/978-3-030-31500-9_19

M3 - Conference contribution

SN - 978-3-030-31499-6

T3 - Lecture Notes in Computer Science

SP - 289

EP - 303

BT - Data Privacy Management, Cryptocurrencies and Blockchain Technology

A2 - Pérez-Solà, Cristina

A2 - Navarro-Arribas, Guillermo

A2 - Biryukov, Alex

A2 - García-Alfaro, Joaquín

PB - Springer

CY - Cham

ER -

Honig JJ, Everts MH, Huisman M. Practical Mutation Testing for Smart Contracts. In Pérez-Solà C, Navarro-Arribas G, Biryukov A, García-Alfaro J, editors, Data Privacy Management, Cryptocurrencies and Blockchain Technology: ESORICS 2019 International Workshops, DPM 2019 and CBT 2019, Luxembourg, September 26-27, 2019, Proceedings. Cham: Springer. 2019. p. 289-303. (Lecture Notes in Computer Science). https://doi.org/10.1007/978-3-030-31500-9_19