English
Related papers

Related papers: SoliDiffy: AST Differencing for Solidity Smart Con…

200 papers

Smart contracts govern billions of dollars in decentralized finance (DeFi), yet automated vulnerability detection remains challenging because many vulnerabilities are tightly coupled with project-specific business logic. We observe that…

Cryptography and Security · Computer Science 2026-03-30 Ziqiao Kong , Wanxu Xia , Chong Wang , Yi Lu , Pan Li , Shaohua Li , Zong Cao , Yang Liu

Diversity can significantly increase the resilience of systems, by reducing the prevalence of shared vulnerabilities and making vulnerabilities harder to exploit. Work on software diversity for security typically creates variants of a…

Cryptography and Security · Computer Science 2019-07-23 Scott D. Stoller , Yanhong A. Liu

The emergence of blockchain technology has revolutionized contract execution through the introduction of smart contracts. Ethereum, the leading blockchain platform, leverages smart contracts to power decentralized applications (DApps),…

Cryptography and Security · Computer Science 2025-10-23 Tahrim Hossain , Sakib Hassan , Faisal Haque Bappy , Muhammad Nur Yanhaona , Tarannum Shaila Zaman , Tariqul Islam

Refactoring is a well-known technique that is widely adopted by software engineers to improve the design and enable the evolution of a system. Knowing which refactoring operations were applied in a code change is a valuable information to…

Software Engineering · Computer Science 2018-08-07 Danilo Silva , Marco Tulio Valente

Software development is a very broad activity that captures the entire life cycle of a software, which includes designing, programming, maintenance and so on. In this study, we focus on the maintenance-related concerns of the…

Software Engineering · Computer Science 2021-08-18 Jiachi Chen , Xin Xia , David Lo , John Grundy , Xiaohu Yang

Traditional algorithms for detecting differences in source code focus on differences between lines. As such, little can be learned about abstract changes that occur over time within a project. Structural differencing on the program's…

Software Engineering · Computer Science 2013-07-09 Jason Dagit , Matthew Sottile

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

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

Reentrancy vulnerability as one of the most notorious vulnerabilities, has been a prominent topic in smart contract security research. Research shows that existing vulnerability detection presents a range of challenges, especially as smart…

Software Engineering · Computer Science 2024-03-19 Zexu Wang , Jiachi Chen , Yanlin Wang , Yu Zhang , Weizhe Zhang , Zibin Zheng

Smart contracts are self-executing programs that manage financial transactions on blockchain networks. Developers commonly rely on third-party code libraries to improve both efficiency and security. However, improper use of these libraries…

Software Engineering · Computer Science 2026-04-02 Yishun Wang , Wenkai Li , Xiaoqi Li , Zongwei Li , Lei Xie , Yuqing Zhang

Smart contracts are programs that execute transactions involving independent parties and cryptocurrencies. As programs, smart contracts are susceptible to a wide range of errors and vulnerabilities. Such vulnerabilities can result in…

Cryptography and Security · Computer Science 2023-07-03 Sundas Munir , Walid Taha

Smart contracts are programs that manage digital assets according to a certain protocol, expressing for instance the rules of an auction. Understanding the possible behaviors of a smart contract is difficult, which complicates development,…

Software Engineering · Computer Science 2018-07-23 Florentin Guth , Valentin Wüstholz , Maria Christakis , Peter Müller

Smart contracts are the building blocks of the "code is law" paradigm: the smart contract's code indisputably describes how its assets are to be managed - once it is created, its code is typically immutable. Faulty smart contracts present…

Software Engineering · Computer Science 2022-05-17 Pedro Antonino , Juliandson Ferreira , Augusto Sampaio , A. W. Roscoe

Smart contracts are prone to various vulnerabilities, leading to substantial financial losses over time. Current analysis tools mainly target vulnerabilities with fixed control or data-flow patterns, such as re-entrancy and integer…

Cryptography and Security · Computer Science 2024-05-07 Yuqiang Sun , Daoyuan Wu , Yue Xue , Han Liu , Haijun Wang , Zhengzi Xu , Xiaofei Xie , Yang Liu

More than eight million smart contracts have been deployed into Ethereum, which is the most popular blockchain that supports smart contract. However, less than 1% of deployed smart contracts are open-source, and it is difficult for users to…

Software Engineering · Computer Science 2020-07-21 Xiaoqi Li , Ting Chen , Xiapu Luo , Tao Zhang , Le Yu , Zhou Xu

Permissionless blockchains allow the execution of arbitrary programs (called smart contracts), enabling mutually untrusted entities to interact without relying on trusted third parties. Despite their potential, repeated security concerns…

Cryptography and Security · Computer Science 2018-08-27 Petar Tsankov , Andrei Dan , Dana Drachsler Cohen , Arthur Gervais , Florian Buenzli , Martin Vechev

Smart contracts are programs running on a blockchain. They are immutable to change, and hence can not be patched for bugs once deployed. Thus it is critical to ensure they are bug-free and well-designed before deployment. A Contract defect…

Software Engineering · Computer Science 2020-04-20 Jiachi Chen , Xin Xia , David Lo , John Grundy , Daniel Xiapu Luo , Ting Chen

Efficiently representing source code is crucial for various software engineering tasks such as code classification and clone detection. Existing approaches primarily use Abstract Syntax Tree (AST), and only a few focus on semantic graphs…

Software Engineering · Computer Science 2023-12-27 Karthik Chandra Swarna , Noble Saji Mathews , Dheeraj Vagavolu , Sridhar Chimalakonda

The adoption of blockchain based distributed ledgers is growing fast due to their ability to provide reliability, integrity, and auditability without trusted entities. One of the key capabilities of these emerging platforms is the ability…

Cryptography and Security · Computer Science 2019-01-23 Anastasia Mavridou , Aron Laszka , Emmanouela Stachtiari , Abhishek Dubey

The security of smart contracts is critical in blockchain systems, where even minor vulnerabilities can lead to substantial financial losses. Researchers proposed several vulnerability detection tools evaluated using existing benchmarks.…

Software Engineering · Computer Science 2025-04-23 Gerardo Iuliano , Luigi Allocca , Matteo Cicalese , Dario Di Nucci