English
Related papers

Related papers: ParityFuzz: Finding Inconsistencies across Solidit…

200 papers

Decentralized cryptocurrencies feature the use of blockchain to transfer values among peers on networks without central agency. Smart contracts are programs running on top of the blockchain consensus protocol to enable people make…

Software Engineering · Computer Science 2018-08-06 Bo Jiang , Ye Liu , W. K. Chan

Compilers are fundamental to modern software development, making the effective identification and resolution of compiler faults essential. However, localizing these faults to specific source files remains highly challenging due to the…

Software Engineering · Computer Science 2025-12-30 Qingyang Li , Yibiao Yang , Maolin Sun , Jiangchang Wu , Qingkai Shi , Yuming Zhou

Smart contracts are fundamental pillars of the blockchain, playing a crucial role in facilitating various business transactions. However, these smart contracts are vulnerable to exploitable bugs that can lead to substantial monetary losses.…

Software Engineering · Computer Science 2025-09-30 Xingshuang Lin , Qinge Xie , Binbin Zhao , Yuan Tian , Saman Zonouz , Na Ruan , Jiliang Li , Raheem Beyah , Shouling Ji

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

By July 2025, smart contracts collectively manage roughly $120 billion in assets. With Solidity remaining the dominant language for smart contract development, the correctness of Solidity compilers has become critically important. However,…

Programming Languages · Computer Science 2025-12-03 Haoyang Ma , Alastair F. Donaldson , 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

The Instruction Set Architecture (ISA) defines processor operations and serves as the interface between hardware and software. As an open ISA, RISC-V lowers the barriers to processor design and encourages widespread adoption, but also…

Cryptography and Security · Computer Science 2026-01-21 Hao Lyu , Jingzheng Wu , Xiang Ling , Yicheng Zhong , Zhiyuan Li , Tianyue Luo

Mutation testing is a technique to assess the effectiveness of test suites by introducing artificial faults into programs. Although mutation testing plugins are available for many platforms and languages, none is currently available for…

Software Engineering · Computer Science 2026-03-25 Gerardo Iuliano , Daniele Carangelo , Carmine Calabrese , Dario Di Nucci

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

Successful HPC software applications are long-lived. When ported across machines and their compilers, these applications often produce different numerical results, many of which are unacceptable. Such variability is also a concern while…

Software Engineering · Computer Science 2019-06-26 Michael Bentley , Ian Briggs , Ganesh Gopalakrishnan , Dong H. Ahn , Ignacio Laguna , Gregory L. Lee , Holger E. Jones

Smart contracts are critical financial instruments, and their security is of utmost importance. However, smart contract programs are difficult to fuzz due to the persistent blockchain state behind all transactions. Mutating sequences of…

Cryptography and Security · Computer Science 2023-06-30 Chaofan Shou , Shangyin Tan , Koushik Sen

Smart Contracts are critical components of blockchain ecosystems, with Solidity as the dominant programming language. While LLMs excel at general-purpose code generation, the unique constraints of Smart Contracts, such as gas consumption,…

Software Engineering · Computer Science 2025-11-24 Francesco Salzano , Simone Scalabrino , Rocco Oliveto , Remo Pareschi

Performance optimization of AI infrastructure is key to the fast adoption of large language models (LLMs). The PyTorch compiler (torch.compile), a core optimization tool for deep learning (DL) models (including LLMs), has received due…

Software Engineering · Computer Science 2026-04-13 Meiziniu Li , Dongze Li , Jianmeng Liu , Shing-Chi Cheung

JavaScript (JS) is a popular, platform-independent programming language. To ensure the interoperability of JS programs across different platforms, the implementation of a JS engine should conform to the ECMAScript standard. However, doing…

Software Engineering · Computer Science 2021-04-16 Guixin Ye , Zhanyong Tang , Shin Hwei Tan , Songfang Huang , Dingyi Fang , Xiaoyang Sun , Lizhong Bian , Haibo Wang , Zheng Wang

Smart contract decompilation aims to recover high-level source code from bytecode, but evaluating decompilers remains difficult because existing studies use narrow datasets, inconsistent metrics, and limited semantic consistency checks.…

Software Engineering · Computer Science 2026-05-29 Kaihua Qin , Dawn Song , Arthur Gervais

Compiler optimization techniques are inherently complex, and rigorous testing of compiler optimization implementation is critical. Recent years have witnessed the emergence of testing approaches for uncovering incorrect optimization bugs,…

Software Engineering · Computer Science 2025-04-08 Jingwen Wu , Jiajing Zheng , Zhenyu Yang , Zhongxing Yu

The Language Server Protocol (LSP) has revolutionized the integration of code intelligence in modern software development. There are approximately 300 LSP server implementations for various languages and 50 editors offering LSP integration.…

Software Engineering · Computer Science 2026-01-29 Hengcheng Zhu , Songqiang Chen , Valerio Terragni , Lili Wei , Yepang Liu , Jiarong Wu , Shing-Chi Cheung

Fuzzing is a widely used technique for detecting software bugs and vulnerabilities. Most popular fuzzers generate new inputs using an evolutionary search to maximize code coverage. Essentially, these fuzzers start with a set of seed inputs,…

Software Engineering · Computer Science 2020-09-14 Dongdong She , Rahul Krishna , Lu Yan , Suman Jana , Baishakhi Ray

Vulnerable software represents a tremendous threat to modern information systems. Vulnerabilities in widespread applications may be used to spread malware, steal money and conduct target attacks. To address this problem, developers and…

Cryptography and Security · Computer Science 2018-07-06 Maksim Shudrak , Vyacheslav Zolotarev

Compilers are complex, and significant effort has been expended on testing them. Techniques such as random program generation and differential testing have proved highly effective and have uncovered thousands of bugs in production…

Software Engineering · Computer Science 2025-01-03 Davide Italiano , Chris Cummins