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
相关论文
共 34 条
  • [11] Dannen C, 2017, Introducing Ethereum and Solidity, DOI [10.1007/978-1-4842-2535-6, DOI 10.1007/978-1-4842-2535-6]
  • [12] Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab
    Delmolino, Kevin
    Arnett, Mitchell
    Kosba, Ahmed
    Miller, Andrew
    Shi, Elaine
    [J]. FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, FC 2016, 2016, 9604 : 79 - 94
  • [13] Dodson N., LINTING UTILITY ETHE
  • [14] Current Trends in Sustainability of Bitcoins and Related Blockchain Technology
    Giungato, Pasquale
    Rana, Roberto
    Tarabella, Angela
    Tricase, Caterina
    [J]. SUSTAINABILITY, 2017, 9 (12)
  • [15] Empirical validation of object-oriented metrics on open source software for fault prediction
    Gyimóthy, T
    Ferenc, R
    Siket, I
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (10) : 897 - 910
  • [16] An evaluation of the MOOD set of object-oriented software metrics
    Harrison, R
    Counsell, SJ
    Nithi, RV
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (06) : 491 - 496
  • [17] Hegeds P., SOLMET TOOL
  • [18] ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection
    Jiang, Bo
    Liu, Ye
    Chan, W. C.
    [J]. PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 259 - 269
  • [19] Kolluri A., 2018, ARXIV181011605
  • [20] 이강찬, 2017, [Journal of Security Engineering, 보안공학연구논문지], V14, P231, DOI 10.14257/jse.2017.06.05