Blockchain Smart Contracts Static Analysis for Software Assurance

被引:2
|
作者
Schmeelk, Suzanna [1 ]
Rosado, Bryan [1 ]
Black, Paul E. [2 ]
机构
[1] St Johns Univ, Comp Sci Math & Sci, New York, NY 10003 USA
[2] NIST, Gaithersburg, MD 20899 USA
来源
关键词
Blockchain; Smart contracts; Solidity; Ethereum Virtual Machine (EVM); Software Assurance; Static analysis;
D O I
10.1007/978-3-030-80126-7_62
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
This paper examines blockchain smart contract software assurance through the lens of static analysis. Smart contracts are immutable. Once they are deployed, it is impossible to patch or redevelop the smart contracts on active chains. This paper explores specific blockchain smart contract bugs to further understand categories of vulnerabilities for bug detection prior to smart contract deployment. Specifically, this work focuses on smart contract concerns in Solidity v0.6.2 which are unchecked by static analysis tools. Solidity, influenced by C++, Python and JavaScript, is designed to target the Ethereum Virtual Machine (EVM). Many, if not all, of the warnings we categorize are currently neither integrated into Solidity static analysis tools nor earlier versions of the Solidity compiler itself. Thus, the prospective bug detection lies entirely on smart contract developers and the Solidity compiler to determine if contracts potentially qualify for bugs, concerns, issues, and vulnerabilities. We aggregate and categorize these known concerns into categories and build a model for integrating the checking of these categories into a static analysis tool engine. The static analysis engine could be employed prior to deployment to improve smart contract software assurance. Finally, we connect our fault categories with other tools to show that our introduced categories are not yet considered during static analysis.
引用
下载
收藏
页码:881 / 890
页数:10
相关论文
共 50 条
  • [21] Blockchain Contract: Securing a Blockchain Applied to Smart Contracts
    Watanabe, Hiroki
    Fujimura, Shigeru
    Nakadaira, Atsushi
    Miyazaki, Yasuhiko
    Akutsu, Akihito
    Kishigami, Jay
    2016 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE), 2016,
  • [22] THREAT PREVENTION & VULNERABILITY ANALYSIS OF SMART CONTRACTS IN BLOCKCHAIN NETWORKS
    Chandra, Pankaj
    Soni, Santosh
    Gupta, Akanksha
    Kumar, Prayas
    Raj, Kunal
    SURANAREE JOURNAL OF SCIENCE AND TECHNOLOGY, 2023, 30 (05):
  • [23] Foundations and Tools for the Static Analysis of Ethereum Smart Contracts
    Grishchenko, Ilya
    Maffei, Matteo
    Schneidewind, Clara
    COMPUTER AIDED VERIFICATION (CAV 2018), PT I, 2018, 10981 : 51 - 78
  • [24] CSAFuzzer: Fuzzing smart contracts combining with static analysis
    Jiahui Yang
    Xiangfu Zhao
    Hanfeng Zhang
    Long He
    Shiji Wang
    Naixiang Gou
    Empirical Software Engineering, 2025, 30 (3)
  • [25] SmartGraph: Static Analysis Tool for Solidity Smart Contracts
    Zhukov, Andrei
    Korkhov, Vladimir
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS-ICCSA 2023 WORKSHOPS, PT I, 2023, 14104 : 584 - 598
  • [26] Static Analysis of Integer Overflow of Smart Contracts in Ethereum
    Lai, Enmei
    Luo, Wenjun
    2020 4TH INTERNATIONAL CONFERENCE ON CRYPTOGRAPHY, SECURITY AND PRIVACY (ICCSP 2020), 2020, : 110 - 115
  • [27] Foundations and Techniques for the Static Analysis of Ethereum Smart Contracts
    Maffei, Matteo
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (296): : 1 - 1
  • [28] Survey on Quality Assurance of Smart Contracts
    Wei, Zhiyuan
    Sun, Jing
    Zhang, Zijian
    Zhang, Xianhao
    Yang, Xiaoxuan
    Zhu, Liehuang
    ACM Computing Surveys, 2024, 57 (02)
  • [29] DevOps for Ethereum Blockchain Smart Contracts
    Woehrer, Maximilian
    Zdun, Uwe
    2021 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2021), 2021, : 244 - 251
  • [30] Blockchain and Smart Contracts and the Role of Arbitration
    Wiegandt, Dirk
    JOURNAL OF INTERNATIONAL ARBITRATION, 2022, 39 (05): : 671 - 690