English
Related papers

Related papers: Copy-and-Paste? Identifying EVM-Inequivalent Code …

200 papers

We study the competition between blockchains in a \emph{multi-chain} environment, where a dominant EVM-compatible blockchain (e.g., Ethereum) co-exists with an alternative EVM-compatible (e.g., Avalanche) and an EVM-incompatible (e.g.,…

Computer Science and Game Theory · Computer Science 2022-08-23 Ruizhe Jia , Steven Yin

Smart contracts have been increasingly used together with blockchains to automate financial and business transactions. However, many bugs and vulnerabilities have been identified in many contracts which raises serious concerns about smart…

Software Engineering · Computer Science 2020-05-21 Zhipeng Gao , Lingxiao Jiang , Xin Xia , David Lo , John Grundy

As a blockchain platform that has developed vigorously in recent years, Ethereum is different from Bitcoin in that it introduces smart contracts into blockchain.Solidity is one of the most mature and widely used smart contract programming…

Software Engineering · Computer Science 2019-11-25 Pengcheng Zhang , Feng Xiao , Xiapu Luo

A smell in software source code denotes an indication of suboptimal design and implementation decisions, potentially hindering the code understanding and, in turn, raising the likelihood of being prone to changes and faults. Identifying…

Software Engineering · Computer Science 2025-02-10 Anh Ho , Anh M. T. Bui , Phuong T. Nguyen , Amleto Di Salle , Bach Le

Smart contracts are small programs that run autonomously on the blockchain, using it as their persistent memory. The predominant platform for smart contracts is the Ethereum VM (EVM). In EVM smart contracts, a problem with significant…

Programming Languages · Computer Science 2025-12-01 Sifis Lagouvardos , Yannis Bollanos , Michael Debono , Neville Grech , Yannis Smaragdakis

Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the current computer science landscape. Yet, there still exists a lack of software engineering experience and best practices in this field. One such best practice,…

Software Engineering · Computer Science 2021-03-09 Bart van Oort , Luís Cruz , Maurício Aniche , Arie van Deursen

Context. The adoption of Machine Learning (ML)--enabled systems is steadily increasing. Nevertheless, there is a shortage of ML-specific quality assurance approaches, possibly because of the limited knowledge of how quality-related concerns…

Software Engineering · Computer Science 2024-03-14 Gilberto Recupito , Giammaria Giordano , Filomena Ferrucci , Dario Di Nucci , Fabio Palomba

In this paper, we explore remarkable similarities between multi-transactional behaviors of smart contracts in cryptocurrencies such as Ethereum and classical problems of shared-memory concurrency. We examine two real-world examples from the…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-02-21 Ilya Sergey , Aquinas Hobor

Blockchain received a vast amount of attention in recent years and is still growing. The second generation of blockchain, such as Ethereum, allows execution of almost any program in Ethereum Virtual Machine (EVM), making it a global…

Cryptography and Security · Computer Science 2024-05-07 Robert Susik , Robert Nowotniak

Ethereum smart contracts are programs that run on the Ethereum blockchain, and many smart contract vulnerabilities have been discovered in the past decade. Many security analysis tools have been created to detect such vulnerabilities, but…

Cryptography and Security · Computer Science 2021-01-11 Nami Ashizawa , Naoto Yanai , Jason Paul Cruz , Shingo Okamura

Build scripts automate the process of compiling source code, managing dependencies, running tests, and packaging software into deployable artifacts. These scripts are ubiquitous in modern software development pipelines for streamlining…

Software Engineering · Computer Science 2026-04-27 Mahzabin Tamanna , Yash Chandrani , Matthew Burrows , Brandon Wroblewski , Laurie Williams , Dominik Wermke

A code smell is a surface indicator of an inherent problem in the system, most often due to deviation from standard coding practices on the developers part during the development phase. Studies observe that code smells made the code more…

Software Engineering · Computer Science 2021-08-11 Himanshu Gupta , Abhiram Anand Gulanikar , Lov Kumar , Lalita Bhanu Murthy Neti

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

Bad smells have been defined to describe potential problems in code, possibly pointing out refactoring opportunities. Several empirical studies have highlighted that smells have a negative impact on comprehension and maintainability.…

Software Engineering · Computer Science 2021-07-21 Elder Vicente de Paulo Sobrinho , Marcelo de Almeida Maia

The Large Language Models (LLMs) have demonstrated great potential in code-related tasks. However, most research focuses on improving the output quality of LLMs (e.g., correctness), and less attention has been paid to the LLM input (e.g.,…

Software Engineering · Computer Science 2025-08-19 Zhipeng Xue , Xiaoting Zhang , Zhipeng Gao , Xing Hu , Shan Gao , Xin Xia , Shanping Li

As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more complex team compositions and heavier data dependency. These…

Smart contracts are Turing-complete programs running on the blockchain. They are immutable and cannot be modified, even when bugs are detected. Therefore, ensuring smart contracts are bug-free and well-designed before deploying them to the…

Software Engineering · Computer Science 2021-03-24 Jiachi Chen , Xin Xia , David Lo , John Grundy , Xiapu Luo , Ting Chen

Smart contracts are software programs featuring both traditional applications and distributed data storage on blockchains. Ethereum is a prominent blockchain platform with the support of smart contracts. The smart contracts act as…

Cryptography and Security · Computer Science 2020-09-18 Purathani Praitheeshan , Lei Pan , Jiangshan Yu , Joseph Liu , Robin Doss

Object-oriented code smells are well-known concepts in software engineering that refer to bad design and development practices commonly observed in software systems. With the emergence of mobile apps, new classes of code smells have been…

Software Engineering · Computer Science 2020-10-15 Sarra Habchi , Naouel Moha , Romain Rouvoy

Understanding what drives code instability is essential for effective software maintenance, as unstable classes require larger or more frequent edits and increase the risk of unintended side effects. Although code smells are widely believed…

Software Engineering · Computer Science 2026-02-17 Zushuai Zhang , Elliott Wen , Ewan Tempero