English
Related papers

Related papers: Towards Understanding the Bugs in Solidity Compile…

200 papers

This paper presents SAILFISH, a scalable system for automatically finding state-inconsistency bugs in smart contracts. To make the analysis tractable, we introduce a hybrid approach that includes (i) a light-weight exploration phase that…

Cryptography and Security · Computer Science 2021-12-14 Priyanka Bose , Dipanjan Das , Yanju Chen , Yu Feng , Christopher Kruegel , Giovanni Vigna

Compiler correctness is crucial, as miscompilation can falsify program behaviors, leading to serious consequences. Fuzzing has been studied to uncover compiler defects. However, compiler fuzzing remains challenging: Existing arts focus on…

Software Engineering · Computer Science 2024-09-06 Chenyuan Yang , Yinlin Deng , Runyu Lu , Jiayi Yao , Jiawei Liu , Reyhaneh Jabbarvand , Lingming Zhang

The rise of decentralized applications (dApps) has made smart contracts imperative components of blockchain technology. As many smart contracts process financial transactions, their security is paramount. Moreover, the immutability of…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-24 Khalid Hassan , Saeed Moradi , Shaiful Chowdhury , Sara Rouhani

Smart Contracts are essential blockchain components, mainly written in Solidity. The high availability of public Solidity code leads to frequent reuse and high clone ratios. Since cloning can propagate vulnerabilities and flaws, effective…

Given the growing importance of smart contracts in various applications, ensuring their security and reliability is critical. Fuzzing, an effective vulnerability detection technique, has recently been widely applied to smart contracts.…

Software Engineering · Computer Science 2024-02-06 Shuohan Wu , Zihao Li , Luyi Yan , Weimin Chen , Muhui Jiang , Chenxu Wang , Xiapu Luo , Hao Zhou

BACKGROUND: Software engineers must be vigilant in preventing and correcting vulnerabilities and other critical bugs. In servicing this need, numerous tools and techniques have been developed to assist developers. Fuzzers, by autonomously…

Software Engineering · Computer Science 2023-05-22 Brandon Keller , Andrew Meneely , Benjamin Meyers

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

The rapid growth of Ethereum has made it more important to quickly and accurately detect smart contract vulnerabilities. While machine-learning-based methods have shown some promise, many still rely on rule-based preprocessing designed by…

Cryptography and Security · Computer Science 2025-12-15 Uisang Lee , Changhoon Chung , Junmo Lee , Soo-Mook Moon

Solidity is the predominant programming language for blockchain-based smart contracts, and its characteristics pose significant challenges for code analysis and maintenance. Traditional software analysis approaches, while effective for…

Software Engineering · Computer Science 2025-05-05 Luca Ruschioni , Robert Shuttleworth , Rumyana Neykova , Barbara Re , Giuseppe Destefanis

Ethereum smart contracts, which are autonomous decentralized applications on the blockchain that manage assets often exceeding millions of dollars, have become primary targets for cyberattacks. In 2023 alone, such vulnerabilities led to…

Cryptography and Security · Computer Science 2023-12-29 Christoph Sendner , Lukas Petzi , Jasper Stang , Alexandra Dmitrienko

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…

In Ethereum, the practice of verifying the validity of the passed addresses is a common practice, which is a crucial step to ensure the secure execution of smart contracts. Vulnerabilities in the process of address verification can lead to…

Cryptography and Security · Computer Science 2024-06-03 Tianle Sun , Ningyu He , Jiang Xiao , Yinliang Yue , Xiapu Luo , Haoyu Wang

We present VeriSmart, a highly precise verifier for ensuring arithmetic safety of Ethereum smart contracts. Writing safe smart contracts without unintended behavior is critically important because smart contracts are immutable and even a…

Programming Languages · Computer Science 2019-09-02 Sunbeom So , Myungho Lee , Jisu Park , Heejo Lee , Hakjoo Oh

Smart contracts are autonomous and immutable pieces of code that are deployed on blockchain networks and run by miners. They were first introduced by Ethereum in 2014 and have since been used for various applications such as security…

Software Engineering · Computer Science 2024-07-08 Mahdi Fooladgar , Fathiyeh Faghih

Smart contracts are the artifact of the blockchain that provide immutable and verifiable specifications of physical transactions. Solidity is a domain-specific programming language with the purpose of defining smart contracts. It aims at…

Software Engineering · Computer Science 2020-05-14 Jian Zhu , Kai Hu , Mamoun Filali , Jean-Paul Bodeveix , Jean-Pierre Talpin

Rust is gaining popularity for its well-known memory safety guarantees and high performance, distinguishing it from C/C++ and JVM-based languages. Its compiler, rustc, enforces these guarantees through specialized mechanisms such as trait…

Programming Languages · Computer Science 2025-04-01 Zixi Liu , Yang Feng , Yunbo Ni , Shaohua Li , Xizhe Yin , Qingkai Shi , Baowen Xu , Zhendong Su

Over 70% of security vulnerabilities in critical software systems today result from memory safety violations. To address this challenge, fuzzing and static analysis are widely used automated methods to discover such vulnerabilities. Fuzzing…

Cryptography and Security · Computer Science 2026-03-31 Keno Hassler , Philipp Görz , Stephan Lipp

As blockchain smart contracts become more widespread and carry more valuable digital assets, they become an increasingly attractive target for attackers. Over the past few years, smart contracts have been subject to a plethora of…

Cryptography and Security · Computer Science 2023-12-12 Peng Qian , Hanjie Wu , Zeren Du , Turan Vural , Dazhong Rong , Zheng Cao , Lun Zhang , Yanbin Wang , Jianhai Chen , Qinming He

Blockchain and smart contract technology are novel approaches to data and code management that facilitate trusted computing by allowing for development in a distributed and decentralized manner. Testing smart contracts comes with its own…

Software Engineering · Computer Science 2022-04-18 Stefan Driessen , Dario Di Nucci , Geert Monsieur , Damian A. Tamburri , Willem-Jan van den Heuvel