当前位置: X-MOL 学术arXiv.cs.SE › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
SMT-Friendly Formalization of the Solidity Memory Model
arXiv - CS - Software Engineering Pub Date : 2020-01-09 , DOI: arxiv-2001.03256
\'Akos Hajdu, Dejan Jovanovi\'c

Solidity is the dominant programming language for Ethereum smart contracts. This paper presents a high-level formalization of the Solidity language with a focus on the memory model. The presented formalization covers all features of the language related to managing state and memory. In addition, the formalization we provide is effective: all but few features can be encoded in the quantifier-free fragment of standard SMT theories. This enables precise and efficient reasoning about the state of smart contracts written in Solidity. The formalization is implemented in the solc-verify verifier and we provide an extensive set of tests that covers the breadth of the required semantics. We also provide an evaluation on the test set that validates the semantics and shows the novelty of the approach compared to other Solidity-level contract analysis tools.

中文翻译:

Solidity 内存模型的 SMT 友好形式化

Solidity 是以太坊智能合约的主要编程语言。本文介绍了 Solidity 语言的高级形式化,重点是内存模型。所呈现的形式化涵盖了与管理状态和内存相关的语言的所有特征。此外,我们提供的形式化是有效的:几乎所有特征都可以在标准 SMT 理论的无量词片段中进行编码。这可以对用 Solidity 编写的智能合约的状态进行精确有效的推理。形式化是在 solc-verify 验证器中实现的,我们提供了一组广泛的测试,涵盖了所需语义的广度。我们还对测试集进行了评估,以验证语义并展示该方法与其他 Solidity 级合同分析工具相比的新颖性。
更新日期:2020-04-20
down
wechat
bug