English
Related papers

Related papers: Solidity 0.5: when typed does not mean type safe

200 papers

In this paper we focus on TinySol, a minimal calculus for Solidity smart contracts, introduced by Bartoletti et al. We start by rephrasing its syntax (to emphasise its object-oriented flavour) and give a new big-step operational semantics.…

Programming Languages · Computer Science 2025-06-25 Luca Aceto , Daniele Gorla , Stian Lybech

The Ethereum blockchain platform supports the execution of decentralised applications or smart contracts. These typically hold and transfer digital currency to other parties on the platform; however, they have been subject to numerous…

Programming Languages · Computer Science 2019-04-16 Franklin Schrans , Daniel Hails , Alexander Harkness , Sophia Drossopoulou , Susan Eisenbach

We present Solythesis, a source to source Solidity compiler which takes a smart contract code and a user specified invariant as the input and produces an instrumented contract that rejects all transactions that violate the invariant. The…

Programming Languages · Computer Science 2020-12-15 Ao Li , Jemin Andrew Choi , Fan Long

The usage of error handling in Solidity smart contracts is vital because smart contracts perform transactions that should be verified. Transactions that are not carefully handled, may lead to program crashes and vulnerabilities, implying…

Solidity compiler plays a key role in enabling the development of smart contract applications on Ethereum by governing the syntax of a domain-specific language called Solidity and performing compilation and optimization of Solidity code.…

Software Engineering · Computer Science 2024-08-12 Haoyang Ma , Wuqi Zhang , Qingchao Shen , Yongqiang Tian , Junjie Chen , Shing-Chi Cheung

Solidity is an object-oriented and high-level language for writing smart contracts that are used to execute, verify and enforce credible transactions on permissionless blockchains. In the last few years, analysis of smart contracts has…

Software Engineering · Computer Science 2019-08-16 Chao Peng , Sefa Akca , Ajitha Rajan

Poorly designed smart contracts are particularly vulnerable, as they may allow attackers to exploit weaknesses and steal the virtual currency they manage. In this study, we train a model using unsupervised learning to identify…

Cryptography and Security · Computer Science 2025-04-15 Hong-Sheng Huang , Jen-Yi Ho , Hao-Wen Chen , Hung-Min Sun

Vyper has been proposed as a new high-level language for Ethereum smart contract development due to numerous security vulnerabilities and attacks witnessed on contracts written in Solidity since the system's inception. Vyper aims to address…

Cryptography and Security · Computer Science 2020-06-16 Mudabbir Kaleem , Anastasia Mavridou , Aron Laszka

Solidity is the dominant programming language for Ethereum smart contracts. This paper presents a high-level formalization of the Solidity language with a focus on the memory model. The presented formalization covers all features of the…

Programming Languages · Computer Science 2020-04-20 Ákos Hajdu , Dejan Jovanović

In this paper, we investigate the strategies adopted by Solidity developers to fix security vulnerabilities in smart contracts. Vulnerabilities are categorized using the DASP TOP 10 taxonomy, and fixing strategies are extracted from GitHub…

We propose a type system for a calculus of contracting processes. Processes can establish sessions by stipulating contracts, and then can interact either by keeping the promises made, or not. Type safety guarantees that a typeable process…

Programming Languages · Computer Science 2019-03-14 Massimo Bartoletti , Alceste Scalas , Emilio Tuosto , Roberto Zunino

Secure sensor calibration constitutes a foundational step that underpins operational safety in the Industrial Internet of Things. While much attention has been given to IoT security such as the use of TLS to secure sensed data, little…

Cryptography and Security · Computer Science 2020-03-03 Ryan Shah , Michael McIntee , Shishir Nagaraja , Sahil Bhandary , Prerna Arote , Joy Kuri

Smart contracts are appealing because they are self-executing business agreements between parties with the predefined and immutable obligations and rights. However, as with all software, smart contracts may contain vulnerabilities because…

Software Engineering · Computer Science 2019-12-10 Weifeng Xu , Glenn A. Fink

We present a methodology to develop verified smart contracts. We write smart contracts, their specifications and implementations in the verification-friendly language Dafny. In our methodology the ability to write specifications,…

Logic in Computer Science · Computer Science 2022-08-08 Franck Cassez , Joanne Fuller , Horacio Mijail Anton Quiles

Smart contracts are programs running on cryptocurrency (e.g., Ethereum) blockchains, whose popularity stem from the possibility to perform financial transactions, such as payments and auctions, in a distributed environment without need for…

Cryptography and Security · Computer Science 2018-04-24 Ilya Grishchenko , Matteo Maffei , Clara Schneidewind

Smart contracts are frequently vulnerable to control-flow attacks based on confused deputies, reentrancy, and incorrect error handling. These attacks exploit the complexity of interactions among multiple possibly unknown contracts. Existing…

Cryptography and Security · Computer Science 2025-04-24 Siqiu Yao , Haobin Ni , Stephanie Ma , Noah Schiff , Andrew C. Myers , Ethan Cecchetti

The high rate of false alarms from static analysis tools and Large Language Models (LLMs) complicates vulnerability detection in Solidity Smart Contracts, demanding methods that can formally or empirically prove the presence of defects.…

Software Engineering · Computer Science 2025-09-17 Ştefan-Claudiu Susan , Andrei Arusoaie , Dorel Lucanu

Smart contracts written in Solidity are programs used in blockchain networks, such as Etherium, for performing transactions. However, as with any piece of software, they are prone to errors and may present vulnerabilities, which malicious…

Logic in Computer Science · Computer Science 2021-11-29 Kunjian Song , Nedas Matulevicius , Eddie B. de Lima Filho , Lucas C. Cordeiro

Recently, a number of existing blockchain systems have witnessed major bugs and vulnerabilities within smart contracts. Although the literature features a number of proposals for securing smart contracts, these proposals mostly focus on…

Cryptography and Security · Computer Science 2018-12-17 Michael Rodler , Wenting Li , Ghassan O. Karame , Lucas Davi

Blockchain platforms are coming into broad use for processing critical transactions among participants who have not established mutual trust. Many blockchains are programmable, supporting smart contracts, which maintain persistent state and…