Blockchain Papers

Follow blockchain research across journals, conferences, and preprint repositories.

762 papersLast indexed Aug 31, 2026
Search papers

Paper index

762 results · page 30 of 32

Clear filters
Jun 27, 2020·Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering
267 cites
sFuzz

Tai D. Nguyen, Long Hoang Pham, Jun Sun, Yun Lin · 5 authors

Smart contracts are Turing-complete programs that execute on the infrastructure of the blockchain, which often manage valuable digital assets. Solidity is one of the most popular programming languages for writing smart contracts on the Ethereum platform. Like traditional programs, smart contracts may contain vulnerabilities. Unlike traditional programs, smart contracts cannot be easily patched once they are deployed. It is thus important that smart contracts are tested thoroughly before deployment. In this work, we present an adaptive fuzzer for smart contracts on the Ethereum platform called sFuzz. Compared to existing Solidity fuzzers, sFuzz combines the strategy in the AFL fuzzer and an efficient lightweight multi-objective adaptive strategy targeting those hard-to-cover branches. sFuzz has been applied to more than 4 thousand smart contracts and the experimental results show that (1) sFuzz is efficient, e.g., two orders of magnitude faster than state-of-the-art tools; (2) sFuzz is effective in achieving high code coverage and discovering vulnerabilities; and (3) the different fuzzing strategies in sFuzz complement each other.

Adversarial Robustness in Machine Learning
Blockchain Technology Applications and Security
Security and Verification in Computing
Original source
Jun 26, 2020·Preprints.org
3 cites
Frauds in Scientific Research May be Overcome with Distributed Ledger Technologies

Erik Boetto, Davide Golinelli, Gherardo Carullo, Maria Pia Fantini

Frauds and misconducts have been common in the history of science. Recent events connected to the COVID-19 pandemic have highlighted how the risks and consequences of this are no longer acceptable. Two papers, addressing the treatment of COVID-19, have been published in two of the most prestigious medical journals. In both, the authors declared to have analysed electronic records from a private corporation, which apparently collected data of tens of thousands of patients, coming from thousands of hospitals. Both papers have been retracted a few weeks later. When such events happen, the confidence of the population in scientific research is likely to be weakened. The objective of this paper is to highlight how the current system endangers not only the reliability of scientific research, but also the very foundations of the trust system on which modern healthcare is based. Having shed the light on the dangers of a system without appropriate monitoring, we propose to improve the research process using the promising aspects of the distributed ledger technology which, thanks to the characteristics of immutability, decentralization and transparency, appears among the best solutions to avoid the repetition of the mistakes linked to the recent and past history of research.

Open access
Blockchain Technology Applications and Security
Privacy-Preserving Technologies in Data
Adversarial Robustness in Machine Learning
Original source
May 27, 2020·arXiv
0 cites
Generative Adversarial Networks for Bitcoin Data Augmentation

Francesco Zola, Jan L. Bruse, Xabier Etxeberria Barrio, Mikel Galar · 5 authors

In Bitcoin entity classification, results are strongly conditioned by the ground-truth dataset, especially when applying supervised machine learning approaches. However, these ground-truth datasets are frequently affected by significant class imbalance as generally they contain much more information regarding legal services (Exchange, Gambling), than regarding services that may be related to illicit activities (Mixer, Service). Class imbalance increases the complexity of applying machine learning techniques and reduces the quality of classification results, especially for underrepresented, but critical classes. In this paper, we propose to address this problem by using Generative Adversarial Networks (GANs) for Bitcoin data augmentation as GANs recently have shown promising results in the domain of image classification. However, there is no "one-fits-all" GAN solution that works for every scenario. In fact, setting GAN training parameters is non-trivial and heavily affects the quality of the generated synthetic data. We therefore evaluate how GAN parameters such as the optimization function, the size of the dataset and the chosen batch size affect GAN implementation for one underrepresented entity class (Mining Pool) and demonstrate how a "good" GAN configuration can be obtained that achieves high similarity between synthetically generated and real Bitcoin address data. To the best of our knowledge, this is the first study presenting GANs as a valid tool for generating synthetic address data for data augmentation in Bitcoin entity classification.

Open access
2 source records
cs.LG
stat.ML
Imbalanced Data Classification Techniques
Original source
May 25, 2020·arXiv (Cornell University)
7 cites
Towards Smart Hybrid Fuzzing for Smart Contracts.

Christof Ferreira Torres, Antonio Ken Iannillo, Arthur Gervais, Radu State

Smart contracts are Turing-complete programs that are executed across a blockchain network. Unlike traditional programs, once deployed they cannot be modified. As smart contracts become more popular and carry more value, they become more of an interesting target for attackers. In recent years, smart contracts suffered major exploits, costing millions of dollars, due to programming errors. As a result, a variety of tools for detecting bugs has been proposed. However, majority of these tools often yield many false positives due to over-approximation or poor code coverage due to complex path constraints. Fuzzing or fuzz testing is a popular and effective software testing technique. However, traditional fuzzers tend to be more effective towards finding shallow bugs and less effective in finding bugs that lie deeper in the execution. In this work, we present CONFUZZIUS, a hybrid fuzzer that combines evolutionary fuzzing with constraint solving in order to execute more code and find more bugs in smart contracts. Evolutionary fuzzing is used to exercise shallow parts of a smart contract, while constraint solving is used to generate inputs which satisfy complex conditions that prevent the evolutionary fuzzing from exploring deeper paths. Moreover, we use data dependency analysis to efficiently generate sequences of transactions, that create specific contract states in which bugs may be hidden. We evaluate the effectiveness of our fuzzing strategy, by comparing CONFUZZIUS with state-of-the-art symbolic execution tools and fuzzers. Our evaluation shows that our hybrid fuzzing approach produces significantly better results than state-of-the-art symbolic execution tools and fuzzers.

Open access
Advanced Malware Detection Techniques
Software Testing and Debugging Techniques
Adversarial Robustness in Machine Learning
Original source
May 25, 2020·Zenodo (CERN European Organization for Nuclear Research)
154 cites
ConFuzzius: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts

Christof Ferreira Torres, Antonio Ken Iannillo, Arthur Gervais, Radu State

<div> <div> <p>Smart contracts are Turing-complete programs that are executed across a blockchain. Unlike traditional programs, once deployed, they cannot be modified. As smart contracts carry more value, they become more of an exciting target for attackers. Over the last years, they suffered from exploits costing millions of dollars due to simple programming mistakes. As a result, a variety of tools for detecting bugs have been proposed. Most of these tools rely on symbolic execution, which may yield false positives due to over-approximation. Recently, many fuzzers have been proposed to detect bugs in smart contracts. However, these tend to be more effective in finding shallow bugs and less effective in finding bugs that lie deep in the execution, therefore achieving low code coverage and many false negatives. An alternative that has proven to achieve good results in traditional programs is hybrid fuzzing, a combination of symbolic execution and fuzzing. In this work, we study hybrid fuzzing on smart contracts and present ConFuzzius, the first hybrid fuzzer for smart contracts. ConFuzzius uses evolutionary fuzzing to exercise shallow parts of a smart contract and constraint solving to generate inputs that satisfy complex conditions that prevent evolutionary fuzzing from exploring deeper parts. Moreover, ConFuzzius leverages dynamic data dependency analysis to efficiently generate sequences of transactions that are more likely to result in contract states in which bugs may be hidden. We evaluate the effectiveness of ConFuzzius by comparing it with state-of-the-art symbolic execution tools and fuzzers for smart contracts. Our evaluation on a curated dataset of 128 contracts and a dataset of 21K real-world contracts shows that our hybrid approach detects more bugs than state-of-the-art tools (up to 23%) and that it outperforms existing tools in terms of code coverage (up to 69%). We also demonstrate that data dependency analysis can boost bug detection up to 18%.</p> </div> </div>

Open access
6 source records
Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Software Testing and Debugging Techniques
Original source
Apr 18, 2020·arXiv (Cornell University)
43 cites
sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contracts

Tai D. Nguyen, Long Hoang Pham, Jun Sun, Yun Lin · 5 authors

Smart contracts are Turing-complete programs that execute on the infrastructure of the blockchain, which often manage valuable digital assets. Solidity is one of the most popular programming languages for writing smart contracts on the Ethereum platform. Like traditional programs, smart contracts may contain vulnerabilities. Unlike traditional programs, smart contracts cannot be easily patched once they are deployed. It is thus important that smart contracts are tested thoroughly before deployment. In this work, we present an adaptive fuzzer for smart contracts on the Ethereum platform called sFuzz. Compared to existing Solidity fuzzers, sFuzz combines the strategy in the AFL fuzzer and an efficient lightweight multi-objective adaptive strategy targeting those hard-to-cover branches. sFuzz has been applied to more than 4 thousand smart contracts and the experimental results show that (1) sFuzz is efficient, e.g., two orders of magnitude faster than state-of-the-art tools; (2) sFuzz is effective in achieving high code coverage and discovering vulnerabilities; and (3) the different fuzzing strategies in sFuzz complement each other.

Open access
2 source records
Adversarial Robustness in Machine Learning
Security and Verification in Computing
Advanced Malware Detection Techniques
Original source
Mar 1, 2020·Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
7 cites
Testing Smart Contracts

Sefa Akca, Chao Peng, Ajitha Rajan

Background: Executing, verifying and enforcing credible transactions on permissionless blockchains is done using smart contracts. A key challenge with smart contracts is ensuring their correctness and security. Several test input generation techniques for detecting vulnerabilities in smart contracts have been proposed in the last few years. However, a comparison of proposed techniques to gauge their effectiveness is missing. Aim: This paper conducts an empirical evaluation of testing techniques for smart contracts. The testing techniques we evaluated are: (1) Blackbox fuzzing, (2) Adaptive fuzzing, (3) Coverage-guided fuzzing with an SMT solver and (4) Genetic algorithm. We do not consider static analysis tools, as several recent studies have assessed and compared effectiveness of these tools. Method: We evaluate effectiveness of the test generation techniques using (1) Coverage achieved - we use four code coverage metrics targeting smart contracts, (2) Fault finding ability - using artificially seeded and real security vulnerabilities of different types. We used two datasets in our evaluation - one with 1665 real smart contracts from Etherscan, and another with 90 real contracts with known vulnerabilities to assess fault finding ability. Result: We find Adaptive fuzzing performs best in terms of coverage and fault finding over contracts in both datasets. Conclusion: However, we believe considering dependencies between functions and handling Solidity specific features will help improve the performance of all techniques considerably.

Open access
2 source records
Advanced Malware Detection Techniques
Blockchain Technology Applications and Security
Adversarial Robustness in Machine Learning
Original source
Feb 29, 2020·arXiv (Cornell University)
5 cites
ADF-GA: Data Flow Criterion Based Test Case Generation for Ethereum Smart Contracts

Pengcheng Zhang, Jianan Yu, Shunhui Ji

Testing is an important technique to improve the quality of Ethereum smart contract programs. However, current work on testing smart contract only focus on static problems of smart contract programs. A data flow oriented test case generation approach for dynamic testing of smart contract programs is still missing. To address this problem, this paper proposes a novel test case generation approach, called ADF-GA (All-uses Data Flow criterion based test case generation using Genetic Algorithm), for Solidity based Ethereum smart contract programs. ADF-GA aims to efficiently generate a valid set of test cases via three stages. First, the corresponding program control flow graph is constructed from the source codes. Second, the generated control flow graph is analyzed to obtain the variable information in the Solidity programs, locate the require statements, and also get the definition-use pairs to be tested. Finally, a genetic algorithm is used to generate test cases, in which an improved fitness function is proposed to calculate the definition-use pairs coverage of each test case with program instrumentation. Experimental studies are performed on several representative Solidity programs. The results show that ADF-GA can effectively generate test cases, achieve better coverage, and reduce the number of iterations in genetic algorithm.

Open access
2 source records
Software Testing and Debugging Techniques
Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Original source
Feb 17, 2020·IEEE Transactions on Industrial Informatics
235 cites
A Trustworthy Privacy Preserving Framework for Machine Learning in Industrial IoT Systems

M.A.P. Chamikara, Péter Bertök, Ibrahim Khalil, Dongxi Liu · 6 authors

Industrial Internet of Things (IIoT) is revolutionizing many leading industries such as energy, agriculture, mining, transportation, and healthcare. IIoT is a major driving force for Industry 4.0, which heavily utilizes machine learning (ML) to capitalize on the massive interconnection and large volumes of IIoT data. However, ML models that are trained on sensitive data tend to leak privacy to adversarial attacks, limiting its full potential in Industry 4.0. This article introduces a framework named PriModChain that enforces privacy and trustworthiness on IIoT data by amalgamating differential privacy, federated ML, Ethereum blockchain, and smart contracts. The feasibility of PriModChain in terms of privacy, security, reliability, safety, and resilience is evaluated using simulations developed in Python with socket programming on a general-purpose computer. We used Ganache_v2.0.1 local test network for the local experiments and Kovan test network for the public blockchain testing. We verify the proposed security protocol using Scyther_v1.1.3 protocol verifier.

Privacy-Preserving Technologies in Data
Blockchain Technology Applications and Security
Adversarial Robustness in Machine Learning
Original source
Jan 23, 2020·IEEE Transactions on Network Science and Engineering
356 cites
ContractWard: Automated Vulnerability Detection Models for Ethereum Smart Contracts

Wei Wang, J. J. Song, Guangquan Xu, Yidong Li · 6 authors

Smart contracts are decentralized applications running on Blockchain. A very large number of smart contracts has been deployed on Ethereum. Meanwhile, security flaws of contracts have led to huge pecuniary losses and destroyed the ecological stability of contract layer on Blockchain. It is thus an emerging yet crucial issue to effectively and efficiently detect vulnerabilities in contracts. Existing detection methods like Oyente and Securify are mainly based on symbolic execution or analysis. These methods are very time-consuming, as the symbolic execution requires the exploration of all executable paths or the analysis of dependency graphs in a contract. In this work, we propose ContractWard to detect vulnerabilities in smart contracts with machine learning techniques. First, we extract bigram features from simplified operation codes of smart contracts. Second, we employ five machine learning algorithms and two sampling algorithms to build the models. ContractWard is evaluated with 49502 real-world smart contracts running on Ethereum. The experimental results demonstrate the effectiveness and efficiency of ContractWard. The predictive Micro-F1 and Macro-F1 of ContractWard are over 96% and the average detection time is 4 seconds on each smart contract when we use XGBoost for training the models and SMOTETomek for balancing the training sets.

Open access
2 source records
Blockchain Technology Applications and Security
Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Original source
Jan 10, 2020·Proceedings of the 2020 4th International Conference on Cryptography, Security and Privacy
43 cites
Static Analysis of Integer Overflow of Smart Contracts in Ethereum

Enmei Lai, Wenjun Luo

In recent years, vulnerabilities of smart contracts have frequently break out. In particular, integer overflow of smart contracts, a high-risk vulnerability, has caused huge financial losses. However, most tools currently fail to detect integer overflow in smart contracts. In this paper, we summarize 11 types of integer overflow features for Solidity smart contracts in Ethereum and abstractly define 83 corresponding XPath patterns. And we design an extensible static analysis tool to detect common integer overflow vulnerabilities of Solidity smart contracts in Ethereum through the defined XPath patterns. To evaluate our tool, we tested 7,000 verified Solidity smart contracts and found that there were 430 smart contracts with vulnerabilities of integer overflow. Experimental results show that there are still high-risk vulnerabilities of integer overflow in verified smart contracts.

Blockchain Technology Applications and Security
Cryptography and Data Security
Adversarial Robustness in Machine Learning
Original source
Jan 1, 2020·Communications in computer and information science
5 cites
Dynamic Gas Estimation of Loops Using Machine Learning

Chunmiao Li, Shijie Nie, Yang Cao, Yijun Yu · 5 authors

No abstract is available for this record.

Blockchain Technology Applications and Security
Auction Theory and Applications
Adversarial Robustness in Machine Learning
Original source
Jan 1, 2020·Digital Transformation of Identity in the Age of Artificial Intelligence
0 cites
Identity Proof

Kazuhiko Shibuya

No abstract is available for this record.

Cryptography and Data Security
Adversarial Robustness in Machine Learning
Ethics and Social Impacts of AI
Original source
Jan 1, 2020·Lecture notes in computer science
1 cites
Reliable Smart Contracts

Gordon J. Pace, César Sánchez, Gerardo Schneider

No abstract is available for this record.

Blockchain Technology Applications and Security
Security and Verification in Computing
Adversarial Robustness in Machine Learning
Original source
Jan 1, 2020·Lecture notes in computer science
2 cites
Super-Perfect Zero-Knowledge Proofs

Oded Goldreich, Liav Teichner

We initiate a study of super-perfect zero-knowledge proof systems. Loosely speaking, these are proof systems for which the interaction can be perfectly simulated in strict probabilistic polynomial-time. In contrast, the standard definition of perfect zero-knowledge only requires that the interaction can be perfectly simulated by a strict probabilistic polynomial-time that is allowed to fail with probability at most one half. We show that two types of perfect zero-knowledge proof systems can be transformed into super-perfect ones. The first type includes the perfect zero-knowledge interactive proof system for Graph Isomorphism and other systems of the same form, including perfect zero-knowledge arguments for NP. The second type refers to perfect non-interactive zero-knowledge proof sys-tems. We also present a super-perfect non-interactive zero-knowledge proof system for the set

2 source records
Cryptography and Data Security
Complexity and Algorithms in Graphs
Privacy-Preserving Technologies in Data
Original source
Jan 1, 2020·2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus)
7 cites
Hardware Overclocking to Improve the Efficiency of Ethereum Cryptocurrency Mining

Pavel V. Sukharev

Mining task is remarkable by the high amount of resources, such as electrical power, which is needed for its execution. In order to reduce the amount of resources consumed, while maintaining high mining performance, the term of mining efficiency was introduced. This term considering both mining performance and consumed electrical power.In this paper we consider mining hardware overclocking in order to maximize mining efficiency. Overclocking methods are considered, such as increasing memory clock rate, decreasing core clock rate, decreasing hardware voltage. A complex technique is created that allows to apply the considered approaches in order to achieve maximum mining efficiency for a hardware system being overclocked.

2 source records
Blockchain Technology Applications and Security
Adversarial Robustness in Machine Learning
Physical Unclonable Functions (PUFs) and Hardware Security
Original source
Dec 1, 2019·2019 26th Asia-Pacific Software Engineering Conference (APSEC)
28 cites
SIF: A Framework for Solidity Contract Instrumentation and Analysis

Chao Peng, Sefa Akca, Ajitha Rajan

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 raised considerable interest and numerous techniques have been proposed to check the presence of vulnerabilities in them. Current techniques lack traceability in source code and have widely differing work flows. There is no single unifying framework for analysis, instrumentation, optimisation and code generation of Solidity contracts at the source code level. In this paper, we present SIF, a comprehensive framework for Solidity contract analysis, query, instrumentation, and code generation. SIF provides support for Solidity contract developers and testers to build source level techniques for analysis, understanding, diagnostics, optimisations and code generation. We show feasibility and applicability of the framework by building practical tools on top of it and running them on 1838 real smart contracts deployed on the Ethereum network.

Open access
Blockchain Technology Applications and Security
Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Original source
Nov 6, 2019·Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security
273 cites
Learning to Fuzz from Symbolic Execution with Application to Smart Contracts

Jingxuan He, Mislav Balunović, Nodar Ambroladze, Petar Tsankov · 5 authors

Fuzzing and symbolic execution are two complementary techniques for discovering software vulnerabilities. Fuzzing is fast and scalable, but can be ineffective when it fails to randomly select the right inputs. Symbolic execution is thorough but slow and often does not scale to deep program paths with complex path conditions. In this work, we propose to learn an effective and fast fuzzer from symbolic execution, by phrasing the learning task in the framework of imitation learning. During learning, a symbolic execution expert generates a large number of quality inputs improving coverage on thousands of programs. Then, a fuzzing policy, represented with a suitable architecture of neural networks, is trained on the generated dataset. The learned policy can then be used to fuzz new programs. We instantiate our approach to the problem of fuzzing smart contracts, a domain where contracts often implement similar functionality (facilitating learning) and security is of utmost importance. We present an end-to-end system, ILF (for Imitation Learning based Fuzzer), and an extensive evaluation over >18K contracts. Our results show that ILF is effective: (i) it is fast, generating 148 transactions per second, (ii) it outperforms existing fuzzers (e.g., achieving 33% more coverage), and (iii) it detects more vulnerabilities than existing fuzzing and symbolic execution tools for Ethereum.

Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Software Testing and Debugging Techniques
Original source
Oct 17, 2019·Wiley Interdisciplinary Reviews Data Mining and Knowledge Discovery
147 cites
Blockchain for explainable and trustworthy artificial intelligence

Mohamed Nassar, Khaled Salah, Muhammad Habib ur Rehman, Davor Svetinović

Abstract The increasing computational power and proliferation of big data are now empowering Artificial Intelligence (AI) to achieve massive adoption and applicability in many fields. The lack of explanation when it comes to the decisions made by today's AI algorithms is a major drawback in critical decision‐making systems. For example, deep learning does not offer control or reasoning over its internal processes or outputs. More importantly, current black‐box AI implementations are subject to bias and adversarial attacks that may poison the learning or the inference processes. Explainable AI (XAI) is a new trend of AI algorithms that provide explanations of their AI decisions. In this paper, we propose a framework for achieving a more trustworthy and XAI by leveraging features of blockchain, smart contracts, trusted oracles, and decentralized storage. We specify a framework for complex AI systems in which the decision outcomes are reached based on decentralized consensuses of multiple AI and XAI predictors. The paper discusses how our proposed framework can be utilized in key application areas with practical use cases. This article is categorized under: Technologies > Machine Learning Technologies > Computer Architectures for Data Mining Fundamental Concepts of Data and Knowledge > Key Design Issues in Data Mining

Adversarial Robustness in Machine Learning
Blockchain Technology Applications and Security
Explainable Artificial Intelligence (XAI)
Original source
Oct 1, 2019·arXiv
37 cites
MPro: Combining Static and Symbolic Analysis for Scalable Testing of Smart Contract

William Zhang, Sebastian Banescu, Leonardo Pasos, Steven Stewart · 5 authors

Smart contracts are executable programs that enable the building of a programmable trust mechanism between multiple entities without the need of a trusted third-party. At the time of this writing, there were over 10 million smart contracts deployed on the Ethereum networks and this number continues to grow at a rapid pace. Smart contracts are often written in a Turing-complete programming language called Solidity, which is not easy to audit for subtle errors. Further, since smart contracts are immutable, errors have led to attacks resulting in losses of cryptocurrency worth 100s of millions of USD and reputational damage. Unfortunately, manual security analyses do not scale with size and number of smart contracts. Automated and scalable mechanisms are essential if smart contracts are to gain mainstream acceptance. Researchers have developed several security scanners in the past couple of years. However, many of these analyzer either do not scale well, or if they do, produce many false positives. This issue is exacerbated when bugs are triggered only after a series of interactions with the functions of the contract-under-test. A depth-n vulnerability, refers to a vulnerability that requires invoking a specific sequence of n functions to trigger. Depth-n vulnerabilities are time-consuming to detect by existing automated analyzers, because of the combinatorial explosion of sequences of functions that could be executed on smart contracts. In this paper, we present a technique to analyze depth-n vulnerabilities in an efficient and scalable way by combining symbolic execution and data dependency analysis. A significant advantage of combining symbolic with static analysis is that it scales much better than symbolic alone and does not have the problem of false positive that static analysis tools typically have. We have implemented our technique in a tool called MPro, a scalable and automated smart contract analyzer based on the existing symbolic analysis tool Mythril-Classic and the static analysis tool Slither. We analyzed 100 randomly chosen smart contracts on MPro and our evaluation shows that MPro is about n-times faster than Mythril-Classic for detecting depth-n vulnerabilities, while preserving all the detection capabilities of Mythril-Classic.

Open access
2 source records
Security and Verification in Computing
Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Original source
Sep 27, 2019·Lecture notes in computer science
27 cites
Mutation Testing of Smart Contracts at Scale

Pieter Hartel, Richard Schumi

It is crucial that smart contracts are tested thoroughly due to their immutable nature. Even small bugs in smart contracts can lead to huge monetary losses. However, testing is not enough; it is also important to ensure the quality and completeness of the tests. There are already several approaches that tackle this challenge with mutation testing, but their effectiveness is questionable since they only considered small contract samples. Hence, we evaluate the quality of smart contract mutation testing at scale. We choose the most promising of the existing (smart contract specific) mutation operators, analyse their effectiveness in terms of killability and highlight severe vulnerabilities that can be injected with the mutations. Moreover, we improve the existing mutation methods by introducing a novel killing condition that is able to detect a deviation in the gas consumption, i.e., in the monetary value that is required to perform transactions. This paper has a replication package at https://github.com/pieterhartel/Mutation-at-scale

Open access
4 source records
Software Testing and Debugging Techniques
Advanced Malware Detection Techniques
Adversarial Robustness in Machine Learning
Original source