English
Related papers

Related papers: Towards Understanding the Bugs in Solidity Compile…

200 papers

GPUs play an increasingly important role in modern software. However, the heterogeneous host-device execution model and expanding software stacks make GPU programs prone to memory-safety and concurrency bugs that evade static analysis.…

Cryptography and Security · Computer Science 2026-03-16 Mohamed Tarek Ibn ziad , Christos Kozyrakis

Smart contracts are programs running on top of blockchain platforms. They interact with each other through well-defined interfaces to perform financial transactions in a distributed system with no trusted third parties. But these interfaces…

Cryptography and Security · Computer Science 2019-02-19 Yu Feng , Emina Torlak , Rastislav Bodik

Mutation-based fuzzing is effective for uncovering compiler bugs, but designing high-quality mutators for modern languages with complex constructs (e.g., templates, macros) remains challenging. Existing methods rely heavily on manual design…

Software Engineering · Computer Science 2026-02-09 Bo Wang , Pengyang Wang , Chong Chen , Ming Deng , Jieke Shi , Qi Sun , Chengran Yang , Youfang Lin , Zhou Yang , Junjie Chen , Jun Sun , David Lo

As Ethereum continues to thrive, the Ethereum Virtual Machine (EVM) has become the cornerstone powering tens of millions of active smart contracts. Intuitively, security issues in EVMs could lead to inconsistent behaviors among smart…

Software Engineering · Computer Science 2026-05-15 Jie Ma , Ningyu He , Jinwen Xi , Mingzhe Xing , Haoyu Wang , Ying Gao , Yinliang Yue

Fuzzing is a powerful technique for finding bugs in software libraries, but scaling it remains difficult. Automated harness generation commits to fixed API sequences at synthesis time, limiting the behaviors each harness can test.…

Software Engineering · Computer Science 2026-02-24 Harrison Green , Fraser Brown , Claire Le Goues

The rise of blockchain has brought smart contracts into mainstream use, creating a demand for smart contract generation tools. While large language models (LLMs) excel at generating code in general-purpose languages, their effectiveness on…

Software Engineering · Computer Science 2026-01-14 Zhifan Ye , Jiachi Chen , Zhenzhe Shao , Lingfeng Bao , Xiaohu Yang , Zhongxin Liu

With the development of blockchain technology, smart contracts have become an important component of blockchain applications. Despite their crucial role, the development of smart contracts may introduce vulnerabilities and potentially lead…

Software Engineering · Computer Science 2025-07-14 Chong Chen , Jianzhong Su , Jiachi Chen , Yanlin Wang , Tingting Bi , Jianxing Yu , Yanli Wang , Xingwei Lin , Ting Chen , Zibin Zheng

Bugs in compilers, which are critical infrastructure today, can have outsized negative impacts. Mutational fuzzers aid compiler bug detection by systematically mutating compiler inputs, i.e., programs. Their effectiveness depends on the…

Software Engineering · Computer Science 2025-10-10 Lingjun Liu , Feiran Qin , Owolabi Legunsen , Marcelo d'Amorim

Context: Smart contracts are computerized self-executing contracts that contain clauses, which are enforced once certain conditions are met. Smart contracts are immutable by design and cannot be modified once deployed, which ensures…

Software Engineering · Computer Science 2023-04-14 Ilham Qasse , Mohammad Hamdaqa , Björn Þór Jónsson

Smart contracts play a central role in blockchain systems by encoding financial and operational logic. Still, their susceptibility to subtle security flaws poses significant risks of financial loss and erosion of trust. LLMs create new…

Artificial Intelligence · Computer Science 2026-03-24 Eduardo Sardenberg , Antonio José Grandson Busson , Daniel de Sousa Moraes , Julio Cesar Duarte , Sérgio Colcher

Structured code differencing is the act of comparing the hierarchical structure of code via its abstract syntax tree (AST) to capture modifications. AST-based source code differencing enables tasks such as vulnerability detection and…

Software Engineering · Computer Science 2025-03-20 Mojtaba Eshghie , Viktor Åryd , Cyrille Artho , Martin Monperrus

Fuzzing is one of the key techniques for evaluating the robustness of programs against attacks. Fuzzing has to be effective in producing inputs that cover functionality and find vulnerabilities. But it also has to be efficient in producing…

Software Engineering · Computer Science 2019-11-19 Rahul Gopinath , Andreas Zeller

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

Smart contracts are distributed, self-enforcing programs executing on top of blockchain networks. They have the potential to revolutionize many industries such as financial institutes and supply chains. However, smart contracts are subject…

Cryptography and Security · Computer Science 2021-01-07 Tai D. Nguyen , Long H. Pham , Jun Sun

Large language models (LLMs) have transformed code generation. However, most existing approaches focus on mainstream languages such as Python and Java, neglecting the Solidity language, the predominant programming language for Ethereum…

Software Engineering · Computer Science 2025-08-27 Zhiyuan Peng , Xin Yin , Rui Qian , Peiqin Lin , Yongkang Liu , Hao Zhang , Chenhao Ying , Yuan Luo

In this work, we set out to conduct the first ground-truth empirical evaluation of state-of-the-art DL fuzzers. Specifically, we first manually created an extensive DL bug benchmark dataset, which includes 627 real-world DL bugs from…

Software Engineering · Computer Science 2023-10-12 Nima Shiri Harzevili , Hung Viet Pham , Song Wang

Whenever a bug occurs in a program, software developers assume that the code is flawed, not the compiler. In fact, if compilers should be correct, they are just normal software with their own bugs. Hard to find, errors in them have…

Cryptography and Security · Computer Science 2018-11-28 Baptiste David

Hybrid testing approaches that involve fuzz testing and symbolic execution have shown promising results in achieving high code coverage, uncovering subtle errors and vulnerabilities in a variety of software applications. In this paper we…

Software Engineering · Computer Science 2018-06-11 Yannic Noller , Rody Kersten , Corina S. Păsăreanu

Smart Contracts are programs running logic in the Blockchain network by executing operations through immutable transactions. The Blockchain network validates such transactions, storing them into sequential blocks of which integrity is…

Software Engineering · Computer Science 2024-03-13 Francesco Salzano , Simone Scalabrino , Rocco Oliveto , Remo Pareschi

Continuous fuzzing is an increasingly popular technique for automated quality and security assurance. Google maintains OSS-Fuzz: a continuous fuzzing service for open source software. We conduct the first empirical study of OSS-Fuzz,…

Software Engineering · Computer Science 2021-03-23 Zhen Yu Ding , Claire Le Goues