Formal verification in Solidity and Move: insights from a comparative analysis

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Bartoletti, Massimo, Crafa, Silvia, Lipparini, Enrico
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866909904548134912
author Bartoletti, Massimo
Crafa, Silvia
Lipparini, Enrico
author_facet Bartoletti, Massimo
Crafa, Silvia
Lipparini, Enrico
contents Formal verification plays a crucial role in making smart contracts safer, being able to find bugs or to guarantee their absence, as well as checking whether the business logic is correctly implemented. For Solidity, even though there already exist several mature verification tools, the semantical quirks of the language can make verification quite hard in practice. Move, on the other hand, has been designed with security and verification in mind, and it has been accompanied since its early stages by a formal verification tool, the Move Prover. In this paper, we investigate through a comparative analysis: 1) how the different designs of the two contract languages impact verification, and 2) what is the state-of-the-art of verification tools for the two languages, and how do they compare on three paradigmatic use cases. Our investigation is supported by an open dataset of verification tasks performed in Certora and in the Aptos Move Prover.
format Preprint
id arxiv_https___arxiv_org_abs_2502_13929
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Formal verification in Solidity and Move: insights from a comparative analysis
Bartoletti, Massimo
Crafa, Silvia
Lipparini, Enrico
Cryptography and Security
Formal verification plays a crucial role in making smart contracts safer, being able to find bugs or to guarantee their absence, as well as checking whether the business logic is correctly implemented. For Solidity, even though there already exist several mature verification tools, the semantical quirks of the language can make verification quite hard in practice. Move, on the other hand, has been designed with security and verification in mind, and it has been accompanied since its early stages by a formal verification tool, the Move Prover. In this paper, we investigate through a comparative analysis: 1) how the different designs of the two contract languages impact verification, and 2) what is the state-of-the-art of verification tools for the two languages, and how do they compare on three paradigmatic use cases. Our investigation is supported by an open dataset of verification tasks performed in Certora and in the Aptos Move Prover.
title Formal verification in Solidity and Move: insights from a comparative analysis
topic Cryptography and Security
url https://arxiv.org/abs/2502.13929