English
Related papers

Related papers: Mutation testing of smart contracts at scale

200 papers

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

Smart contracts are Turing-complete programs running on the blockchain. They cannot be modified, even when bugs are detected. The Selfdestruct function is the only way to destroy a contract on the blockchain system and transfer all the…

Software Engineering · Computer Science 2020-10-07 Jiachi Chen

Model-based mutation testing uses altered test models to derive test cases that are able to reveal whether a modelled fault has been implemented. This requires conformance checking between the original and the mutated model. This paper…

Software Engineering · Computer Science 2012-02-29 Bernhard K. Aichernig , Elisabeth Jöbstl

Blockchain systems and smart contracts provide ways to securely implement multi-party transactions without the use of trusted intermediaries, which currently underpin many commercial transactions. However, they do so by transferring trust…

Logic in Computer Science · Computer Science 2018-11-16 Ron van der Meyden

Smart contracts are pieces of code that reside inside the blockchains and can be triggered to execute any transaction when specifically predefined conditions are satisfied. Being commonly used for commercial transactions in blockchain makes…

Cryptography and Security · Computer Science 2023-06-13 Yilin Wang , Xiangping Chen , Yuan Huang , Hao-Nan Zhu , Jing Bian , Zibin Zheng

A smart contract that is deployed to a blockchain system like Ethereum is, under reasonable circumstances, expected to be immutable and tamper-proof. This is both a feature (promoting integrity and transparency) and a bug (preventing…

Cryptography and Security · Computer Science 2022-06-03 Mehdi Salehi , Jeremy Clark , Mohammad Mannan

Large Language Models (LLMs) have shown remarkable capabilities in processing both natural and programming languages, which have enabled various applications in software engineering, such as requirement engineering, code generation, and…

Software Engineering · Computer Science 2024-01-12 Ziyu Li , Donghwan Shin

Smart contract upgrades are increasingly common due to their flexibility in modifying deployed contracts, such as fixing bugs or adding new functionalities. Meanwhile, upgrades compromise the immutability of contracts, introducing…

Cryptography and Security · Computer Science 2025-08-05 Dingding Wang , Jianting He , Siwei Wu , Yajin Zhou , Lei Wu , Cong Wang

The advent of blockchain technology and its adoption across various sectors have raised critical discussions about the need for regulatory mechanisms to ensure consumer protection, maintain financial stability, and address privacy concerns…

Cryptography and Security · Computer Science 2024-07-16 Oshani Seneviratne

Refactoring is an activity that improves the internal structure of the code without altering its external behavior. When performed on the production code, the tests can be used to verify that the external behavior of the production code is…

Software Engineering · Computer Science 2015-06-25 Ali Parsai , Alessandro Murgia , Quinten David Soetens , Serge Demeyer

Permutation tests are a distribution free way of performing hypothesis tests. These tests rely on the condition that the observed data are exchangeable among the groups being tested under the null hypothesis. This assumption is easily…

Methodology · Statistics 2017-12-14 Daniell Toth

As a new research area, quantum software testing lacks systematic testing benchmarks to assess testing techniques' effectiveness. Recently, some open-source benchmarks and mutation analysis tools have emerged. However, there is insufficient…

Software Engineering · Computer Science 2025-05-05 Eñaut Mendiluze Usandizaga , Tao Yue , Paolo Arcaini , Shaukat Ali

Smart contracts are computer programs that are executed by a network of mutually distrusting agents, without the need of an external trusted authority. Smart contracts handle and transfer assets of considerable value (in the form of…

Programming Languages · Computer Science 2018-06-19 Krishnendu Chatterjee , Amir Kafshdar Goharshady , Yaron Velner

Smart contracts are the cornerstone of decentralized applications and financial protocols, which extend the application of digital currency transactions. The applications and financial protocols introduce significant security challenges,…

Cryptography and Security · Computer Science 2025-04-22 Hongli Peng , Xiaoqi Li , Wenkai Li

In the field of mutation analysis, mutation is the systematic generation of mutated programs (i.e., mutants) from an original program. The concept of mutation has been widely applied to various testing problems, including test set…

Software Engineering · Computer Science 2016-01-26 Donghwan Shin , Doo-Hwan Bae

Mutation testing was proposed to identify weaknesses in test suites by repeatedly generating artificially faulty versions of the software (mutants) and determining if the test suite is sufficient to detect them (kill them). When the tests…

Software Engineering · Computer Science 2024-11-18 Hang Du , Vijay Krishna Palepu , James A. Jones

An appealing feature of blockchain technology is smart contracts. A smart contract is executable code that runs on top of the blockchain to facilitate, execute and enforce an agreement between untrusted parties without the involvement of a…

Cryptography and Security · Computer Science 2017-10-18 Maher Alharby , Aad van Moorsel

Smart contracts are an attractive target for attackers, as evidenced by a long history of security incidents. A current limitation of smart contract verification tools is that they are not really effective in expressing and verifying…

Cryptography and Security · Computer Science 2025-11-18 Massimo Bartoletti , Angelo Ferrando , Enrico Lipparini , Vadim Malvone

Software built on poor structural patterns often shows higher exposure to security defects. When code differs from established best practices, verification and maintenance become increasingly difficult, thereby raising the risk of…

Cryptography and Security · Computer Science 2026-01-26 Masoud Jamshidiyan Tehrani

In this work, we provide a comprehensive survey of smart contract upgradability patterns using proxies. A primary characteristic of smart contracts on the Ethereum blockchain is that they are immutable once implemented, no changes can be…

Cryptography and Security · Computer Science 2023-04-10 Sajad Meisami , William Edward Bodell