English
Related papers

Related papers: Formal verification in Solidity and Move: insights…

200 papers

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

Turing completeness has made Ethereum smart contracts attractive to blockchain developers and attackers alike. To increase code security, many tools can now spot most known vulnerabilities$-$at the cost of production efficiency. Recent…

Cryptography and Security · Computer Science 2024-10-23 Tommaso Oss , Carlos E. Budde

Formal verification of software is a bit of a niche activity: it is only applied to the most safety-critical or security-critical software and it is typically only performed by specialized verification engineers. This paper considers…

Logic in Computer Science · Computer Science 2020-11-02 Alastair Reid , Luke Church , Shaked Flur , Sarah de Haas , Maritza Johnson , Ben Laurie

Smart Contracts are software programs that are deployed and executed within a blockchain infrastructure. Due to their immutable nature, directly resulting from the specific characteristics of the deploying infrastructure, smart contracts…

Software Engineering · Computer Science 2021-05-11 Morena Barboni , Andrea Morichetta , Andrea Polini

Blockchain smart contracts have emerged as a transformative force in the digital realm, spawning a diverse range of compelling applications. Since solidity smart contracts across various domains manage trillions of dollars in virtual coins,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-12 Zhiyuan Wei , Xianhao Zhang , Jing Sun , Zijian Zhang , Liehuang Zhu

Blockchain systems and smart contracts provide ways to securely implement multi-party transactions without the use of trusted intermediaries, which currently underpin many commercial transactions. However, they do so by transferring trust…

Logic in Computer Science · Computer Science 2018-11-16 Ron van der Meyden

Formally verified compilers and formally verified static analyzers are a solution to the problem that certain industries face when they have to demonstrate to authorities that the object code they run truly corresponds to its source code…

Logic in Computer Science · Computer Science 2024-07-12 David Monniaux

The industrial market continuously needs reliable solutions to secure autonomous systems. Especially as these systems become more complex and interconnected, reliable security solutions are becoming increasingly important. One promising…

Cryptography and Security · Computer Science 2025-06-30 Önder Gürcan

In recent times, many protocols have been proposed to provide security for various information and communication systems. Such protocols must be tested for their functional correctness before they are used in practice. Application of formal…

Cryptography and Security · Computer Science 2011-01-11 Suvansh Lal , Mohit Jain , Vikrant Chaplot

Formal verification is at the heart of model validation and correctness. With model checking, invaluable realizations have been accomplished in software engineering and particularly in software development. By means of this approach,…

Software Engineering · Computer Science 2023-08-02 Patrick Mukala

We describe a method and tool called \textit{ContractCheck} that allows for the consistency analysis of legal contracts, in particular Sales Purchase Agreements (SPAs). The analysis relies on an encoding of the premises for the execution of…

Logic in Computer Science · Computer Science 2022-12-08 Alan Khoja , Martin Kölbl , Stefan Leue , Rüdiger Wilhelmi

The need to solve non-linear arithmetic constraints presents a major obstacle to the automatic verification of smart contracts. In this case study we focus on the two overapproximation techniques used by the industry verification tool…

Logic in Computer Science · Computer Science 2024-02-16 Petra Hozzová , Jaroslav Bendík , Alexander Nutz , Yoav Rodeh

Security protocols are essential building blocks of modern IT systems. Subtle flaws in their design or implementation may compromise the security of entire systems. It is, thus, important to prove the absence of such flaws through formal…

Cryptography and Security · Computer Science 2023-09-12 Linard Arquint , Malte Schwerhoff , Vaibhav Mehta , Peter Müller

To guarantee that machine learning models yield outputs that are not only accurate, but also robust, recent works propose formally verifying robustness properties of machine learning models. To be applicable to realistic safety-critical…

Machine Learning · Computer Science 2021-05-07 John Törnblom , Simin Nadjm-Tehrani

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

Compiler correctness is an old problem, but with the emergence of smart contracts on blockchains that problem presents itself in a new light. Smart contracts are self-contained pieces of software that control assets, which are often of high…

Programming Languages · Computer Science 2022-02-23 Jacco O. G. Krijnen , Manuel M. T. Chakravarty , Gabriele Keller , Wouter Swierstra

The growing adoption of formal verification for smart contracts has spurred the development of new verifiable languages like Move. However, the limited availability of training data for these languages hinders effective code generation by…

Software Engineering · Computer Science 2024-12-18 Rabimba Karanjai , Sam Blackshear , Lei Xu , Weidong Shi

The safety of mobile robots in dynamic environments is predicated on making sure that they do not collide with obstacles. In support of such safety arguments, we analyze and formally verify a series of increasingly powerful safety…

Systems and Control · Computer Science 2019-06-20 Stefan Mitsch , Khalil Ghorbal , David Vogelbacher , André Platzer

This paper presents the Soda language for verifying multi-agent systems. Soda is a high-level functional and object-oriented language that supports the compilation of its code not only to Scala, a strongly statically typed high-level…

Programming Languages · Computer Science 2025-03-11 Julian Alfredo Mendez , Timotheus Kampik

Ethereum smart contracts are public, immutable and distributed and, as such, they are prone to vulnerabilities sourcing from programming mistakes of developers. This paper presents SAFEVM, a verification tool for Ethereum smart contracts…

Programming Languages · Computer Science 2019-06-13 Elvira Albert , Jesús Correas , Pablo Gordillo , Guillermo Román-Díez , Albert Rubio