English
Related papers

Related papers: Understanding Typing-Related Bugs in Solidity Comp…

200 papers

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

Kubernetes is a tool that facilitates rapid deployment of software. Unfortunately, configuring Kubernetes is prone to errors. Configuration defects are not uncommon and can result in serious consequences. This paper reports an empirical…

Software Engineering · Computer Science 2025-12-09 Yue Zhang , Uchswas Paul , Marcelo d'Amorim , Akond Rahman

We present solc-verify, a source-level verification tool for Ethereum smart contracts. Solc-verify takes smart contracts written in Solidity and discharges verification conditions using modular program analysis and SMT solvers. Built on top…

Programming Languages · Computer Science 2020-03-17 Ákos Hajdu , Dejan Jovanović

Context: Smart contracts are computer programs that are automatically executed on the blockchain. Vulnerabilities in their implementation have led to severe loss of cryptocurrency. Smart contracts become immutable when deployed to the…

Cryptography and Security · Computer Science 2022-03-29 Majd Soud , Grischa Liebel , Mohammad Hamdaqa

Python is a widely adopted programming language, valued for its simplicity and flexibility. However, its dynamic type system poses significant challenges for automated refactoring - an essential practice in software evolution aimed at…

Software Engineering · Computer Science 2025-11-20 Jonhnanthan Oliveira , Rohit Gheyi , Márcio Ribeiro , Alessandro Garcia

We present a methodology to develop verified smart contracts. We write smart contracts, their specifications and implementations in the verification-friendly language Dafny. In our methodology the ability to write specifications,…

Logic in Computer Science · Computer Science 2022-08-08 Franck Cassez , Joanne Fuller , Horacio Mijail Anton Quiles

Vyper has been proposed as a new high-level language for Ethereum smart contract development due to numerous security vulnerabilities and attacks witnessed on contracts written in Solidity since the system's inception. Vyper aims to address…

Cryptography and Security · Computer Science 2020-06-16 Mudabbir Kaleem , Anastasia Mavridou , Aron Laszka

Some blockchain programs (smart contracts) have included serious security vulnerabilities. Obsidian is a new typestate-oriented programming language that uses a strong type system to rule out some of these vulnerabilities. Although Obsidian…

Software Engineering · Computer Science 2020-10-19 Michael Coblenz , Jonathan Aldrich , Joshua Sunshine , Brad A. Myers

Understanding how software defects manifest and evolve in production environments is critical for improving reliability. While previous research has largely focused on pre-release defects, the nature of residual faults, i.e., those escaping…

Software Engineering · Computer Science 2026-04-30 Domenico Cotroneo , Giuseppe De Rosa , Cristina Improta , Benedetta Gaia Varriale

Ethereum is the largest blockchain platform that supports smart contracts. Users deploy smart contracts by publishing the smart contract's bytecode to the blockchain. Since the data in the blockchain cannot be modified, even if these…

Software Engineering · Computer Science 2020-09-07 Pengcheng Zhang , Feng Xiao , Xiapu Luo

As smart contracts gain adoption in financial transactions, it becomes increasingly important to ensure that they are free of bugs and security vulnerabilities. Of particular relevance in this context are arithmetic overflow bugs, as…

Programming Languages · Computer Science 2021-12-22 Bryan Tan , Benjamin Mariano , Shuvendu K. Lahiri , Isil Dillig , Yu Feng

In recent years, IoT platforms and systems have been rapidly emerging. Although IoT is a new technology, new does not mean simpler (than existing networked systems). Contrarily, the complexity (of IoT platforms and systems) is actually…

Cryptography and Security · Computer Science 2020-03-04 Wei Zhou , Chen Cao , Dongdong Huo , Kai Cheng , Lan Zhang , Le Guan , Tao Liu , Yaowen Zheng , Yuqing Zhang , Limin Sun , Yazhe Wang , Peng Liu

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

Blockchain smart contracts have emerged as a transformative force in the digital realm, spawning a diverse range of compelling applications. Since solidity smart contracts across various domains manage trillions of dollars in virtual coins,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-12 Zhiyuan Wei , Xianhao Zhang , Jing Sun , Zijian Zhang , Liehuang Zhu

Smart contracts are programs that are executed on a blockhain. They have been used for applications in voting, decentralized finance, and supply chain management. However, vulnerabilities in smart contracts have been abused by hackers,…

Programming Languages · Computer Science 2021-10-19 Timothy Mou , Michael Coblenz , Jonathan Aldrich

Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integral components of modern Integrated Development Environments…

Software Engineering · Computer Science 2024-09-24 Haibo Wang , Zhuolin Xu , Huaien Zhang , Nikolaos Tsantalis , Shin Hwei Tan

Smart Contracts are software programs that are deployed and executed within a blockchain infrastructure. Due to their immutable nature, directly resulting from the specific characteristics of the deploying infrastructure, smart contracts…

Software Engineering · Computer Science 2021-05-11 Morena Barboni , Andrea Morichetta , Andrea Polini

Static bug finders have been widely-adopted by developers to find bugs in real world software projects. They leverage predefined heuristic static analysis rules to scan source code or binary code of a software project, and report violations…

Software Engineering · Computer Science 2021-12-24 Junjie Wang , Yuchao Huang , Song Wang , Qing Wang

When implementing secure software, developers must ensure certain requirements, such as the erasure of secret data after its use and execution in real time. Such requirements are not explicitly captured by the C language and could…

Cryptography and Security · Computer Science 2019-07-08 A. P. Shivarpatna Venkatesh , A. Bhat Handadi , M. Mory

Just-in-time (JIT) compilers are key components for many popular programming languages with managed runtimes (e.g., Java and JavaScript). JIT compilers perform optimizations and generate native code at runtime based on dynamic profiling…

Software Engineering · Computer Science 2026-03-09 Zijian Yi , Cheng Ding , August Shi , Milos Gligoric