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 条
  • [1] Smart Contracts Vulnerabilities: A Call for Blockchain Software Engineering?
    Destefanis, Giuseppe
    Marchesi, Michele
    Ortu, Marco
    Tonelli, Roberto
    Bracciali, Andrea
    Hierons, Robert
    2018 IEEE 1ST INTERNATIONAL WORKSHOP ON BLOCKCHAIN ORIENTED SOFTWARE ENGINEERING (IWBOSE), 2018, : 19 - 25
  • [2] Static analysis and software assurance
    Wagner, D
    STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 431 - 431
  • [3] A software service transaction approach based on blockchain smart contracts
    Wang S.-D.
    Chen E.
    Zhu Y.
    Lin Y.-C.
    Liu G.-W.
    Gongcheng Kexue Xuebao/Chinese Journal of Engineering, 2023, 45 (03): : 475 - 488
  • [4] Use of Blockchain Smart Contracts in Software Engineering: A Systematic Mapping
    Tariq, Faizan
    Colomo-Palacios, Ricardo
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2019, PT V: 19TH INTERNATIONAL CONFERENCE, SAINT PETERSBURG, RUSSIA, JULY 14, 2019, PROCEEDINGS, PART V, 2019, 11623 : 327 - 337
  • [5] Blockchain and Smart Contracts
    Abdelhamid, Manar
    Hassan, Ghada
    PROCEEDINGS OF 2019 8TH INTERNATIONAL CONFERENCE ON SOFTWARE AND INFORMATION ENGINEERING (ICSIE 2019), 2019, : 91 - 95
  • [6] Analysis of Blockchain Smart Contracts: Techniques and Insights
    Kim, Shinhae
    Ryu, Sukyoung
    2020 IEEE SECURE DEVELOPMENT (SECDEV 2020), 2020, : 65 - 73
  • [7] Smart contracts on the blockchain - A bibliometric analysis and review
    Ante, Lennart
    TELEMATICS AND INFORMATICS, 2021, 57
  • [8] Intelligent contracts: Making smart contracts smart for blockchain intelligence
    Ouyang, Liwei
    Zhang, Wenwen
    Wang, Fei-Yue
    COMPUTERS & ELECTRICAL ENGINEERING, 2022, 104
  • [9] Performance Analysis of Blockchain Networks through Smart Contracts
    Pflanzner, Tamas
    Bodnar, Peter Lajos
    Kertesz, Attila
    2022 IEEE 8TH WORLD FORUM ON INTERNET OF THINGS, WF-IOT, 2022,
  • [10] Blockchain 2.0: Smart contracts
    Aggarwal, Shubhani
    Kumar, Neeraj
    BLOCKCHAIN TECHNOLOGY FOR SECURE AND SMART APPLICATIONS ACROSS INDUSTRY VERTICALS, 2021, 121 : 301 - 322