paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SAFEVM: a safety verifier for Ethereum smart contracts

SAFEVM:面向以太坊智能合约的安全性验证器
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 3/10 · 论文提出针对以太坊智能合约的安全验证工具,属于程序验证领域,但未涉及用户核心研究方向:PL与AI/LLM的交叉、浮点程序分析或贝叶斯程序分析。尽管有工业级实验和静态分析技术,但应用场景与AI/LLM无关,匹配度较低。引用 5 inbox
Elvira Albert, Jesús Correas, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio
crossref: 2026-09-12

AI 速览

一句话:提出 SAFEVM,将 Solidity/EVM 智能合约翻译为 C 程序,借助现有 C 验证引擎验证安全断言与数组访问。

以太坊智能合约公开、不可变且分布,开发者的编程错误容易引入漏洞。本文提出 SAFEVM,一个以太坊智能合约验证工具:它接受 Solidity 源码或编译后的 EVM 字节码,也可带 assert/require 验证注解,并输出验证报告。除通用安全注解外,SAFEVM 还处理数组访问安全,自动生成 SV-COMP 验证断言,使 C 验证引擎能够证明数组访问的安全性。实验从 etherscan.io 收集超过 24,000 个合约,并分别以 CPAchecker、SeaHorn 和 VeryMax 作为后端验证器进行评估。

问题
以太坊智能合约公开、不可变且分布,开发者的编程错误容易导致漏洞,因此需要有效的安全验证手段。
方法
SAFEVM 接受 Solidity 源码或 EVM 字节码及可选 assert/require 注解,将其转换为 C 程序并调用 CPAchecker、SeaHorn、VeryMax 等 C 验证引擎;同时为数组访问自动生成 SV-COMP 断言。
评估
作者从 etherscan.io 获取超过 24,000 个合约,并以 CPAchecker、SeaHorn 和 VeryMax 作为后端验证器进行了实验评估。
原文摘要(Abstract)

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 that makes use of state-of-the-art verification engines for C programs. SAFEVM takes as input an Ethereum smart contract (provided either in Solidity source code, or in compiled EVM bytecode), optionally with assert and require verification annotations, and produces in the output a report with the verification results. Besides general safety annotations, SAFEVM handles the verification of array accesses: it automatically generates SV-COMP verification assertions such that C verification engines can prove safety of array accesses. Our experimental evaluation has been undertaken on all contracts pulled from etherscan.io (more than 24,000) by using as back-end verifiers CPAchecker, SeaHorn and VeryMax.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot5374,
  title = {SAFEVM: a safety verifier for Ethereum smart contracts},
  author = {Elvira Albert and Jesús Correas and Pablo Gordillo and Guillermo Román-Díez and Albert Rubio},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3338999}
}