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
来源
INTELLIGENT COMPUTING, VOL 2 | 2021年 / 284卷
关键词
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] SmartCheck: Static Analysis of Ethereum Smart Contracts
    Tikhomirov, Sergei
    Voskresenskaya, Ekaterina
    Ivanitskiy, Ivan
    Takhaviev, Ramil
    Marchenko, Evgeny
    Alexandrov, Yaroslav
    2018 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE ENGINEERING FOR BLOCKCHAIN (WETSEB), 2018, : 9 - 16
  • [3] 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
  • [4] Analysis of Blockchain Smart Contracts: Techniques and Insights
    Kim, Shinhae
    Ryu, Sukyoung
    2020 IEEE SECURE DEVELOPMENT (SECDEV 2020), 2020, : 65 - 73
  • [5] Intelligent contracts: Making smart contracts smart for blockchain intelligence
    Ouyang, Liwei
    Zhang, Wenwen
    Wang, Fei-Yue
    COMPUTERS & ELECTRICAL ENGINEERING, 2022, 104
  • [6] HRM Smart Contracts on the Blockchain
    Neiheiser, Ray
    Inacio, Gustavo
    Rech, Luciana
    Fraga, Joni
    2019 IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATIONS (ISCC), 2019, : 194 - 199
  • [7] Static Profiling and Optimization of Ethereum Smart Contracts Using Resource Analysis
    Correas, Jesus
    Gordillo, Pablo
    Roman-Diez, Guillermo
    IEEE ACCESS, 2021, 9 : 25495 - 25507
  • [8] Blockchain and Smart Contracts
    Abdelhamid, Manar
    Hassan, Ghada
    PROCEEDINGS OF 2019 8TH INTERNATIONAL CONFERENCE ON SOFTWARE AND INFORMATION ENGINEERING (ICSIE 2019), 2019, : 91 - 95
  • [9] Storage State Analysis and Extraction of Ethereum Blockchain Smart Contracts
    Ayub, Maha
    Saleem, Tania
    Janjua, Muhammad
    Ahmad, Talha
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (03)
  • [10] CSAFuzzer: Fuzzing smart contracts combining with static analysis
    Yang, Jiahui
    Zhao, Xiangfu
    Zhang, Hanfeng
    He, Long
    Wang, Shiji
    Gou, Naixiang
    EMPIRICAL SOFTWARE ENGINEERING, 2025, 30 (03)