paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Demystifying loops in smart contracts

揭秘智能合约中的循环
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 2/10 · 论文聚焦 Solidity 智能合约循环的实证研究与 DSL/程序合成,属于程序语言与程序分析范畴,但未涉及用户核心方向(ML/Agentic 程序、LLM/Agent 改进静态分析、浮点程序分析或贝叶斯程序分析),因此匹配度较低。引用 20 inbox
Benjamin Mariano, Yanju Chen, Yu Feng, Shuvendu K. Lahiri, Isil Dillig
crossref: 2026-09-12

AI 速览

一句话:对两万余个 Solidity 合约的循环进行实证研究,提出循环模式 DSL 与合成工具 Solis,可总结至少 56% 的循环。

本文关注智能合约中循环的使用方式及其对程序分析的影响。作者对部署在以太坊上的 20,000 多个 Solidity 合约进行实证研究,分析循环的语法与语义特征,以指导面向智能合约的程序分析研究。基于发现,提出一个小型领域特定语言(DSL),用于概括 Solidity 中常见的循环模式。为评估覆盖率,作者设计并实现了循环摘要合成工具链 Solis,能够为合约循环合成该 DSL 中的摘要。评估表明,至少 56% 的分析循环可用该 DSL 总结,其中 81% 的摘要与原循环完全等价。

问题
智能合约中的循环普遍存在,但缺乏对其使用模式与可总结性的系统认识,这阻碍了面向合约的程序分析。
方法
对 20,000 多个 Solidity 合约进行语法与语义层面的实证研究,并据此设计用于概括常见循环模式的 DSL,同时实现摘要合成工具 Solis。
评估
使用 Solis 在真实合约循环上评估 DSL 的覆盖率与摘要正确性,发现至少 56% 的循环可被总结,其中 81% 的摘要与原循环完全等价。
原文摘要(Abstract)

This paper aims to shed light on how loops are used in smart contracts. Towards this goal, we study various syntactic and semantic characteristics of loops used in over 20,000 Solidity contracts deployed on the Ethereum blockchain, with the goal of informing future research on program analysis for smart contracts. Based on our findings, we propose a small domain-specific language (DSL) that can be used to summarize common looping patterns in Solidity. To evaluate what percentage of smart contract loops can be expressed in our proposed DSL, we also design and implement a program synthesis toolchain called Solis that can synthesize loop summaries in our DSL. Our evaluation shows that at least 56% of the analyzed loops can be summarized in our DSL, and 81% of these summaries are exactly equivalent to the original loop.

链接与引用

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

BibTeX
@inproceedings{paperbot5908,
  title = {Demystifying loops in smart contracts},
  author = {Benjamin Mariano and Yanju Chen and Yu Feng and Shuvendu K. Lahiri and Isil Dillig},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3416626}
}