Solidity 智能合约的低层注释自动生成
软件工程
2022-01-11 v2 编程语言
摘要
背景:区块链平台上的去中心化应用通过智能合约实现。然而,缺乏编程知识的参与者往往难以阅读智能合约源代码,这导致了潜在的安全风险与参与障碍。目标:我们的目标是将智能合约源代码翻译为自然语言描述,以帮助人们更好地理解、操作和学习智能合约。方法:本文提出了一种基于抽象语法树与形式文法的 Solidity 智能合约自动翻译工具,称为 SolcTrans。我们调研了 3000 份智能合约,确定了相应区块链术语的词性。其中,我们进一步筛选出无详细注释的合约片段,留下 811 个片段以评估 SolcTrans 的翻译质量。结果:实验结果表明,即便语料规模较小,SolcTrans 也能取得与其他编程语言最先进的代码注释生成模型相近的性能。此外,SolcTrans 在处理不同长度与 gas 消耗的代码片段时性能一致。结论:SolcTrans 能正确解释 Solidity 代码并自动将其转换为易懂的英文文本。我们将发布我们的工具与数据集,以支持相关领域的复现与进一步研究。
引用
@article{arxiv.2106.06458,
title = {Low-level Comments auto-generation for Solidity Smart Contracts},
author = {Chaochen Shi and Yong Xiang and Jiangshan Yu and Keshav Sood and Longxiang Gao},
journal= {arXiv preprint arXiv:2106.06458},
year = {2022}
}