Towards Analyzing the Complexity Landscape of Solidity Based Ethereum Smart Contracts

被引:33
|
作者
Hegedus, Peter [1 ]
机构
[1] MTA SZTE Res Grp Artificial Intelligence, H-6720 Szeged, Hungary
关键词
static analysis; ethereum; smart contracts; metrics; complexity; blockchain; METRICS; SOFTWARE; VALIDATION;
D O I
10.3390/technologies7010006
中图分类号
T [工业技术];
学科分类号
08 ;
摘要
Blockchain-based decentralized cryptocurrency platforms are currently one of the hottest topics in technology. Although most of the interest is generated by cryptocurrency related activities, it is becoming apparent that a much wider spectrum of applications can leverage the blockchain technology. The primary concepts enabling such general use of the blockchain are the so-called smart contracts, which are special programs that run on the blockchain. One of the most popular blockchain platforms that supports smart contracts is Ethereum. As smart contracts typically handle money, ensuring their low number of faults and vulnerabilities are essential. To aid smart contract developers and help to mature the technology, we need analysis tools and studies for smart contracts. As an initiative for this, we propose the adoption of some well-known OO metrics for Solidity smart contracts. Furthermore, we analyze more than 40 thousand Solidity source files with our prototype tool. The results suggest that smart contract programs are short, neither overly complex nor coupled too much, do not rely heavily on inheritance, and either quite well-commented or not commented at all. Moreover, smart contracts could benefit from an external library and dependency management mechanism, as more than 85% of the defined libraries in Solidity files code the same functionalities.
引用
收藏
页数:16
相关论文
共 50 条
  • [31] Safety Guards for Ethereum Smart Contracts
    Amirmohseni, Morteza
    Nogoorani, Sadegh Dorri
    ISECURE-ISC INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2024, 16 (01): : 37 - 53
  • [32] SecSEC: Securing Smart Ethereum Contracts
    Yashavant, Chavhan Sujeet
    PROCEEDINGS OF THE 17TH INNOVATIONS IN SOFTWARE ENGINEERING CONFERENCE, ISEC 2024, 2024,
  • [33] Model checking smart contracts for Ethereum
    Osterland, Thomas
    Rose, Thomas
    PERVASIVE AND MOBILE COMPUTING, 2020, 63
  • [34] A security framework for Ethereum smart contracts
    Lopez Vivar, Antonio
    Sandoval Orozco, Ana Lucila
    Garcia Villalba, Luis Javier
    COMPUTER COMMUNICATIONS, 2021, 172 : 119 - 129
  • [35] An ABI-based Classification Approach for Ethereum Smart Contracts
    Sun, Xun
    Lin, Xingwei
    Liao, Zhou
    2021 IEEE INTL CONF ON DEPENDABLE, AUTONOMIC AND SECURE COMPUTING, INTL CONF ON PERVASIVE INTELLIGENCE AND COMPUTING, INTL CONF ON CLOUD AND BIG DATA COMPUTING, INTL CONF ON CYBER SCIENCE AND TECHNOLOGY CONGRESS DASC/PICOM/CBDCOM/CYBERSCITECH 2021, 2021, : 99 - 104
  • [36] Profiling gas consumption in solidity smart contracts
    Di Sorbo, Andrea
    Laudanna, Sonia
    Vacca, Anna
    Visaggio, Corrado A.
    Canfora, Gerardo
    JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 186
  • [37] SmartBugs: A Framework to Analyze Solidity Smart Contracts
    Ferreira, Joao F.
    Cruz, Pedro
    Durieux, Thomas
    Abreu, Rui
    2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 1349 - 1352
  • [38] Characterizing Efficiency Optimizations in Solidity Smart Contracts
    Brandstaetter, Tamara
    Schulte, Stefan
    Cito, Juergen
    Borkowski, Michael
    2020 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2020), 2020, : 281 - 290
  • [39] A Study of Inline Assembly in Solidity Smart Contracts
    Chaliasos, Stefanos
    Gervais, Arthur
    Livshits, Benjamin
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [40] Advanced Security Auditing Methods for Solidity-Based Smart Contracts
    Xiao, Meihua
    Xu, Yangping
    Li, Zehuan
    Wan, Hongbin
    ELECTRONICS, 2024, 13 (20)