General-Purpose Languages for Blockchain Smart Contracts Development: A Comprehensive Study

被引:0
|
作者
Olivieri, Luca [1 ]
Arceri, Vincenzo [2 ]
Chachar, Badaruddin [1 ]
Negrini, Luca [1 ]
Tagliaferro, Fabio [3 ]
Spoto, Fausto [4 ]
Ferrara, Pietro [1 ]
Cortesi, Agostino [1 ]
机构
[1] Ca Foscari Univ Venice, Dept Environm Sci Informat & Stat, I-30123 Venice, Italy
[2] Univ Parma, Dept Math Phys & Comp Sci, I-43121 Parma, Italy
[3] Equixly Srl, I-37135 Florence, Italy
[4] Univ Verona, Dept Comp Sci, I-37129 Verona, Italy
来源
IEEE ACCESS | 2024年 / 12卷
关键词
Blockchains; Smart contracts; Decentralized applications; !text type='Java']Java[!/text; Indexes; C plus plus languages; !text type='Python']Python[!/text; Internet; Codes; C# languages; General-purpose programming languages; smart contracts; decentralized applications; blockchain; distributed ledgers;
D O I
10.1109/ACCESS.2024.3495535
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Smart contracts are undoubtedly one of the most successful and popular applications of the blockchain industry. They consist of computer programs that are stored in blockchain, typically immutable, allowing the creation of decentralized applications (DApps). Their source code describes how the blockchain's global state should evolve as a consequence of input received from transaction requests. There are two categories of programming languages for writing smart contracts: domain-specific languages (DSLs) and general-purpose languages (GPLs). The research community has spent a great effort for proposing, studying, and verifying DSLs, while the same is not true for GPLs applied to blockchain, although the most popular blockchains adopt them at different levels of the software development. This paper investigates the use of the most popular GPLs in smart contracts and DApps development. It first overviews blockchains that use GPLs for writing smart contracts. Then, it provides a taxonomy of how GPLs are used to develop smart contracts, highlighting limitations and challenges for each type of GPL. The goal of this study is to provide blockchain practitioners with a better comprehension of GPLs, while shedding light on this class of programming languages that are widespread in blockchain software.
引用
收藏
页码:166855 / 166869
页数:15
相关论文
共 50 条
  • [31] DEVELOPMENT OF SPECIALIZED MANUFACTURE OF STANDARDIZED GENERAL-PURPOSE REDUCTION GEARS
    POLYAKOV, DI
    RUSSIAN ENGINEERING JOURNAL, 1976, 56 (03): : 35 - 37
  • [32] Program comprehension of domain-specific and general-purpose languages: replication of a family of experiments using integrated development environments
    Tomaž Kosar
    Sašo Gaberc
    Jeffrey C. Carver
    Marjan Mernik
    Empirical Software Engineering, 2018, 23 : 2734 - 2763
  • [33] Program comprehension of domain-specific and general-purpose languages: replication of a family of experiments using integrated development environments
    Kosar, Tomaz
    Gaberc, Saso
    Carver, Jeffrey C.
    Mernik, Marjan
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (05) : 2734 - 2763
  • [34] Model and optimization of freight station locations in general-purpose comprehensive transportation terminal
    Lin, Feng
    Jiaotong Yunshu Xitong Gongcheng Yu Xinxi/Journal of Transportation Systems Engineering and Information Technology, 2013, 13 (04): : 23 - 28
  • [35] When auditing Meets Blockchain: A study on applying blockchain smart contracts in auditing
    Guo, Xiaoli
    Zuo, Yanjun
    Li, Dong
    RESULTS IN ENGINEERING, 2025, 25
  • [36] Ehr management evolution through purpose-based access control and blockchain smart contracts
    Ullah, Faheem
    He, Jingsha
    Zhu, Nafei
    Wajahat, Ahsan
    Nazir, Ahsan
    Qureshi, Sirajuddin
    Shahzad, Hasan
    INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2025, 24 (01)
  • [37] Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments
    Kosar, Tomaz
    Mernik, Marjan
    Carver, Jeffrey C.
    EMPIRICAL SOFTWARE ENGINEERING, 2012, 17 (03) : 276 - 304
  • [38] Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments
    Tomaž Kosar
    Marjan Mernik
    Jeffrey C. Carver
    Empirical Software Engineering, 2012, 17 : 276 - 304
  • [39] Development of General-Purpose Root-Finding Module for General Mission Analysis Tool
    Kim, Minhee
    Park, Sang-Young
    Hughes, Steven P.
    INTERNATIONAL JOURNAL OF AERONAUTICAL AND SPACE SCIENCES, 2019, 20 (01) : 315 - 324
  • [40] Towards Semantic Approaches for General-Purpose End-User Development
    Atzeni, Mattia
    Atzori, Maurizio
    2018 SECOND IEEE INTERNATIONAL CONFERENCE ON ROBOTIC COMPUTING (IRC), 2018, : 369 - 376