How are Solidity smart contracts tested in open source projects? An exploratory study

被引:3
|
作者
Palechor, Luisa [1 ]
Bezemer, Cor-Paul [1 ]
机构
[1] Univ Alberta, Edmonton, AB, Canada
关键词
Smart contracts; Solidity; testing;
D O I
10.1145/3524481.3527228
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Smart contracts are self-executing programs that are stored on the blockchain. Once a smart contract is compiled and deployed on the blockchain, it cannot be modified. Therefore, having a bug-free smart contract is vital. To ensure a bug-free smart contract, it must be tested thoroughly. However, little is known about how developers test smart contracts in practice. Our study explores 139 open source smart contract projects that are written in Solidity to investigate the state of smart contract testing from three dimensions: (1) the developers working on the tests, (2) the used testing frameworks and testnets and (3) the type of tests that are conducted. We found that mostly core developers of a project are responsible for testing the contracts. Second, developers typically use only functional testing frameworks to test a smart contract, with Truffle being the most popular one. Finally, our results show that functional testing is conducted in most of the studied projects (93%), security testing is only performed in a few projects (9.4%) and traditional performance testing is conducted in none. In addition, we found 34 projects that mentioned or published external audit reports.
引用
收藏
页码:165 / 169
页数:5
相关论文
共 50 条
  • [1] A Study of Inline Assembly in Solidity Smart Contracts
    Chaliasos, Stefanos
    Gervais, Arthur
    Livshits, Benjamin
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [2] An Exploratory Study on the Usage of Gherkin Features in Open-Source Projects
    Chandorkar, Adwait
    Patkar, Nitish
    Di Sorbo, Andrea
    Nierstrasz, Oscar
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 1159 - 1166
  • [3] On the Central Role of Mailing Lists in Open Source Projects: An Exploratory Study
    Shihab, Emad
    Bettenburg, Nicolas
    Adams, Bram
    Hassan, Ahmed E.
    [J]. NEW FRONTIERS IN ARTIFICIAL INTELLIGENCE, 2010, 6284 : 91 - 103
  • [4] Legal and smart! An exploratory case study on understandability of smart contracts
    Barata, Sofia Lopes
    da Cunha, Paulo Rupino
    [J]. Atas da Conferencia da Associacao Portuguesa de Sistemas de Informacao, 2019,
  • [5] Statically Checking Missing Input Validations in Solidity Smart Contracts - A Case Study
    Munir, Sundas
    Baig, Mirza Samna Iqbal
    Noor, Mali
    Murad, Syeda Nina
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN, BLOCKCHAIN, 2023, : 47 - 54
  • [6] On the fulfillment of coordination requirements in open-source software projects: An exploratory study
    Hunsen, Claus
    Siegmund, Janet
    Apel, Sven
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (06) : 4379 - 4426
  • [7] On the fulfillment of coordination requirements in open-source software projects: An exploratory study
    Claus Hunsen
    Janet Siegmund
    Sven Apel
    [J]. Empirical Software Engineering, 2020, 25 : 4379 - 4426
  • [8] Using Continuous Integration Techniques in Open Source Projects-An Exploratory Study
    Wrobel, Michal R.
    Szymukowicz, Jaroslaw
    Weichbroth, Pawel
    [J]. IEEE ACCESS, 2023, 11 : 113848 - 113863
  • [9] An Exploratory Study on God Header Files in Open-Source C Projects
    Wang, Yue
    Chang, Wenhui
    Zou, Yanzhen
    Xie, Bing
    [J]. PROCEEDINGS OF THE 15TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE, INTERNETWARE 2024, 2024, : 477 - 486
  • [10] An exploratory study of smart contracts in the Ethereum blockchain platform
    Gustavo A. Oliva
    Ahmed E. Hassan
    Zhen Ming (Jack) Jiang
    [J]. Empirical Software Engineering, 2020, 25 : 1864 - 1904