skip to main content
research-article

Smart Contract Languages: A Multivocal Mapping Study

Published: 02 January 2021 Publication History

Abstract

Blockchain is a disruptive technology that has attracted the attention of the scientific community and companies, as proven by the exponential growth of publications on this topic in recent years. This growing interest is mainly due to the promise that the use of blockchain enables it to be verified, without including any trusted intermediaries, that the information received from the network is authentic and up-to-date. In this respect, blockchain is a distributed database that can be seen as a ledger that records all transactions that have ever been executed. In this context, smart contracts are pieces of software used to facilitate, verify, and enforce the negotiation of a transaction on a blockchain platform. These pieces of software are implemented by using programming languages, which are sometimes provided by the blockchain platforms themselves. This study aims to (1) identify and categorise the state-of-the-art related to smart contract languages, in terms of the existing languages and their main features, and (2) identify new research opportunities. The review has been conducted as a multivocal mapping study that follows the guidelines proposed by Garousi et al. for conducting multivocal literature reviews, as well as the guidelines proposed by Kitchenham and Charters for conducting mapping studies. As a result of the implementation of the review protocol, 4,119 papers were gathered, and 109 of them were selected for extraction. The contributions of this article are twofold: (1) 101 different smart contract languages have been identified and classified according to a variety of criteria; (2) a discussion on the findings and their implications for future research have been outlined. As a conclusion, it could be stated that a rigorous and replicable overview of the state-of-the-art of smart contract languages has been provided that can benefit not only researchers but also practitioners in the field, thanks to its multivocal nature.

Supplementary Material

a3-varela-vaca-apndx.pdf (varela-vaca.zip)
Supplemental movie, appendix, image and software files for, Smart Contract Languages: A Multivocal Mapping Study

References

[1]
Manar Abdelhamid and Ghada Hassan. 2019. Blockchain and smart contracts. In Proceedings of the ICSIE. ACM, 91--95.
[2]
Richard J. Adams, Palie Smart, and Anne Sigismund Huff. 2017. Shades of grey: Guidelines for working with the grey literature in systematic reviews for management and organizational studies. Int. J. Manage. Rev. 19, 4 (2017), 432--454.
[3]
Maher Alharby and Aad van Moorsel. 2017. Blockchain-based smart contracts: A systematic mapping study. In Proceedings of the CS8IT. Academy 8 Industry Research Collaboration Center, 125--140.
[4]
Maher Alharby and Aad van Moorsel. 2017. A systematic mapping study on current research topics in smart contracts. Int. J. Comput. Sci. Info. Technol. 9, 5 (Oct. 2017), 151--164.
[5]
Nicola Atzei, Massimo Bartoletti, and Tiziana Cimoli. 2017. A survey of attacks on Ethereum smart contracts (SoK). In Proceedings of the POST (LNCS), Vol. 10204. Springer, 164--186.
[6]
Algirdas Avizienis, Jean-Claude Laprie, Brian Randell, and Carl E. Landwehr. 2004. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Depend. Sec. Comput. 1, 1 (2004), 11--33.
[7]
Massimo Bartoletti and Livio Pompianu. 2017. An empirical analysis of smart contracts: Platforms, applications, and design patterns. Retrieved from https://arxiv:cs.CR/1703.06322.
[8]
Davide Calvaresi, Alevtina Dubovitskaya, Jean-Paul Calbimonte, Kuldar Taveter, and Michael Schumacher. 2018. Multi-agent systems and blockchain: Results from a systematic literature review. In Proceedings of the PAAMS (LNCS), Vol. 10978. Springer, 110--126.
[9]
Fran Casino, Thomas K. Dasaklis, and Constantinos Patsakis. 2019. A systematic literature review of blockchain-based applications: Current status, classification, and open issues. Telemat. Informat. 36 (2019), 55--81.
[10]
Michael A. Covington. 2010. First lecture on symbolic programming and Lisp. Retrieved from http://www.covingtoninnovations.com/mc/LispNotes/FirstLectureOnSymbolicProgramming.pdf.
[11]
Vimal Dwivedi, Vipin Deval, Abhishek Dixit, and Alex Norta. 2019. Formal-verification of smart-contract languages: A survey. In Advances in Computing and Data Sciences. Springer, Singapore, 738--747.
[12]
Sandra Fabbri, Elis Montoro Hernandes, André Di Thommazo, Anderson Belgamo, Augusto Zamboni, and Cleiton Silva. 2012. Using information visualization and text mining to facilitate the conduction of systematic literature reviews. In Proceedings of the ICEIS (LNBIP), Vol. 141. Springer, 243--256.
[13]
Vahid Garousi, Michael Felderer, and Mika V. Mäntylä. 2016. The need for multivocal literature reviews in software engineering: Complementing systematic literature reviews with grey literature. In Proceedings of the EASE. ACM, 26:1–26:6.
[14]
Vahid Garousi, Michael Felderer, and Mika V. Mäntylä. 2019. Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Info. Softw. Technol. 106 (2019), 101--121.
[15]
Vahid Garousi and Mika V. Mäntylä. 2016. When and what to automate in software testing? A multi-vocal literature review. Info. Softw. Technol. 76 (2016), 92--117.
[16]
Gartner. 2020. Gartner Predicts that Organizations Using Blockchain Smart Contracts Will Increase Overall Data Quality by 50%. Technical Report. Gartner. Retrieved from https://www.gartner.com/en/newsroom/press-releases/2020-01-30-gartner-predicts-that-organizations-using-blockchain.
[17]
Guido Governatori, Florian Idelberger, Zoran Milosevic, Régis Riveret, Giovanni Sartor, and Xiwei Xu. 2018. On legal contracts, imperative and declarative smart contracts, and blockchain systems. Artific. Intell. Law 26, 4 (2018), 377--409.
[18]
Purva Grover, Arpan Kumar Kar, and P. Vigneswara Ilavarasan. 2018. Blockchain for businesses: A systematic literature review. In Proceedings of the I3E (LNCS), Vol. 11195. Springer, 325--336.
[19]
Felix Härer and Hans-Georg Fill. 2019. A comparison of approaches for visualizing blockchains and smart contracts, in: Jusletter IT 21.
[20]
Dominik Harz and William J. Knottenbelt. 2018. Towards safer smart contracts: A survey of languages and verification methods. Retrieved from http://arxiv.org/abs/1809.09805.
[21]
Florian Hawlitschek, Benedikt Notheisen, and Timm Teubner. 2018. The limits of trust-free systems: A literature review on blockchain technology and trust in the sharing economy. Electronic Comm. Res. Appl. 29 (2018), 50--63.
[22]
Syed Akhter Hossain. 2017. Blockchain computing: Prospects and challenges for digital transformation. In Proceedings of the ICRITO. 61--65.
[23]
Mubashar Iqbal and Raimundas Matulevicius. 2019. Blockchain-based application security risks: A systematic literature review. In Proceedings of the CAiSE (LNBIP), Vol. 349. Springer, 176--188.
[24]
Muhammad Uzair Khan, Salman Sherin, Muhammad Zohaib Iqbal, and Rubab Zahid. 2019. Landscaping systematic mapping studies in software engineering: A tertiary study. J. Syst. Softw. 149 (2019), 396--436.
[25]
Barbara Kitchenham and Stuart Charters. 2007. Guidelines for Performing Systematic Literature Reviews in Software Engineering. Technical Report EBSE-2007-01. School of Computer Science and Mathematics, Keele University.
[26]
Barbara Ann Kitchenham, David Budgen, and Pearl Brereton. 2015. Evidence-based Software Engineering and Systematic Reviews (1 ed.). CRC Press. Retrieved from https://www.crcpress.com/Evidence-Based-Software-Engineering-and-Systematic-Reviews/Kitchenham-Budgen-Brereton/p/book/9781482228656.
[27]
Marco Kuhrmann, Daniel Méndez Fernández, and Maya Daneva. 2017. On the pragmatic design of literature studies in software engineering: An experience-based guideline. Empir. Softw. Eng. 22, 6 (2017), 2852--2891.
[28]
Daniel Macrinici, Cristian Cartofeanu, and Shang Gao. 2018. Smart contract applications within blockchain technology: A systematic mapping study. Telemat. Informat. 35, 8 (2018), 2337--2354.
[29]
Andrew Miller, Zhicheng Cai, and Somesh Jha. 2018. Smart contracts and opportunities for formal methods. In Proceedings of the ISoLA (4) (LNCS), Vol. 11247. Springer, 280--299.
[30]
Imane Mokdad and Nabil M. Hewahi. 2020. Empirical Evaluation of Blockchain Smart Contracts. Springer International Publishing, Cham, 45--71.
[31]
Rohaila Naaz, Neha Shrivastav, and Deepak Kaler. 2019. A review paper on smart contracts in blockchain network-based applications. In Proceedings of the ICAC. 130--134.
[32]
Satoshi Nakamoto. 2009. Bitcoin: A peer-to-peer electronic cash system. Retrieved from http://www.bitcoin.org/bitcoin.pdf.
[33]
Jason Priem, Dario Taraborelli, Paul Groth, and Cameron Neylon. [n.d.]. Altmetrics: A manifesto,. http://altmetrics.org/manifesto/.
[34]
John Ream, Yang Chu, and David Schatsky. 2016. Upgrading blockchains smart contract use cases in industry. Deloitte Insights (June 2016). Retrieved from https://www2.deloitte.com/us/en/insights/focus/signals-for-strategists/using-blockchain-for-smart-contracts.html#.
[35]
Peter Van Roy and Seif Haridi. 2004. Concepts, Techniques, and Models of Computer Programming. MIT Press. Retrieved from http://www.info.ucl.ac.be/people/PVR/book.html.
[36]
Pablo Lamela Seijas, Simon J. Thompson, and Darryl McAdams. 2016. Scripting smart contracts for distributed ledger technology. IACR Cryptol. ePrint Arch. 2016 (2016), 1156. Retrieved from http://eprint.iacr.org/2016/1156.
[37]
Amritraj Singh, Reza M. Parizi, Qi Zhang, Kim-Kwang Raymond Choo, and Ali Dehghantanha. 2020. Blockchain smart contracts formalization: Approaches and challenges to address vulnerabilities. Comput. Secur. 88 (2020).
[38]
Nick Szabo. 1997. Smart contracts: Formalizing and securing relationships on public networks. First Monday 2, 9 (1997). Retrieved from http://dblp.uni-trier.de/db/journals/firstmonday/firstmonday2.html#Szabo97.
[39]
Faizan Tariq and Ricardo Colomo Palacios. 2019. Use of blockchain smart contracts in software engineering: A systematic mapping. In Proceedings of the ICCSA (5) (LNCS), Vol. 11623. Springer, 327--337.
[40]
Paul J. Taylor, Tooska Dargahi, Ali Dehghantanha, Reza M. Parizi, and Kim-Kwang Raymond Choo. 2020. A systematic literature review of blockchain cyber security. Dig. Commun. Netw. 6, 2 (May 2020), 147--156.
[41]
Horst Treiblmaier and Roman Beck. 2019. Business Transformation Through Blockchain. Springer.
[42]
Richard Y. Wang and Diane M. Strong. 1996. Beyond accuracy: What data quality means to data consumers. J. Manage. Info. Syst. 12, 4 (1996), 5--33.
[43]
Shuai Wang, Yong Yuan, Xiao Wang, Juanjuan Li, Rui Qin, and Fei-Yue Wang. 2018. An overview of smart contract: Architecture, applications, and future trends. In Proceedings of the IV. IEEE, 108--113.
[44]
Roel J. Wieringa. 2014. Design Science Methodology for Information Systems and Software Engineering. Springer.
[45]
Claes Wohlin. 2014. Guidelines for snowballing in systematic literature studies and a replication in software engineering. In Proceedings of the EASE, Martin J. Shepperd, Tracy Hall, and Ingunn Myrtveit (Eds.). ACM, 38:1–38:10.
[46]
Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, and Björn Regnell. 2012. Experimentation in Software Engineering. Springer.
[47]
Min Xu, Xingtong Chen, and Gang Kou. 2019. A systematic review of blockchain. Financ. Innov. 5, 1 (Dec. 2019).
[48]
Zibin Zheng, Shaoan Xie, Hong-Ning Dai, Weili Chen, Xiangping Chen, Jian Weng, and Muhammad Imran. 2020. An overview on smart contracts: Challenges, advances and platforms. Future Gener. Comput. Syst. 105 (2020), 475--491.
[49]
Weiqin Zou, David Lo, Pavneet Singh Kochhar, Xuan-Bach Dinh Le, Xin Xia, Yang Feng, Zhenyu Chen, and Baowen Xu. 2019. Smart contract development: Challenges and opportunities. IEEE Trans. Software Eng. (2019), 1–1.

Cited By

View all
  • (2025)Smart contract languagesFuture Generation Computer Systems10.1016/j.future.2024.107563164:COnline publication date: 1-Mar-2025
  • (2024)A Blockchain System for Clustered Federated Learning with Peer-to-Peer Knowledge TransferProceedings of the VLDB Endowment10.14778/3641204.364120817:5(966-979)Online publication date: 1-Jan-2024
  • (2024)An Overview of Smart Contracts for Non-Programmers2024 11th International Conference on Electrical, Electronic and Computing Engineering (IcETRAN)10.1109/IcETRAN62308.2024.10645142(1-6)Online publication date: 3-Jun-2024
  • Show More Cited By

Index Terms

  1. Smart Contract Languages: A Multivocal Mapping Study

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Computing Surveys
    ACM Computing Surveys  Volume 54, Issue 1
    January 2022
    844 pages
    ISSN:0360-0300
    EISSN:1557-7341
    DOI:10.1145/3446641
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 January 2021
    Accepted: 01 September 2020
    Revised: 01 July 2020
    Received: 01 December 2019
    Published in CSUR Volume 54, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Smart contract language
    2. blockchain
    3. multivocal literature mapping study
    4. systematic literature review

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Funding Sources

    • Junta de Andalucía
    • ECLIPSE

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)145
    • Downloads (Last 6 weeks)17
    Reflects downloads up to 17 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Smart contract languagesFuture Generation Computer Systems10.1016/j.future.2024.107563164:COnline publication date: 1-Mar-2025
    • (2024)A Blockchain System for Clustered Federated Learning with Peer-to-Peer Knowledge TransferProceedings of the VLDB Endowment10.14778/3641204.364120817:5(966-979)Online publication date: 1-Jan-2024
    • (2024)An Overview of Smart Contracts for Non-Programmers2024 11th International Conference on Electrical, Electronic and Computing Engineering (IcETRAN)10.1109/IcETRAN62308.2024.10645142(1-6)Online publication date: 3-Jun-2024
    • (2024)General-Purpose Languages for Blockchain Smart Contracts Development: A Comprehensive StudyIEEE Access10.1109/ACCESS.2024.349553512(166855-166869)Online publication date: 2024
    • (2024)An Annotation Assisted Smart Contracts Generation MethodIEEE Access10.1109/ACCESS.2024.338675112(51485-51499)Online publication date: 2024
    • (2024)Automatic construction and verification algorithm for smart contracts based on formal verificationAIP Advances10.1063/5.023845614:11Online publication date: 4-Nov-2024
    • (2024)An overview of blockchain smart contract execution mechanismJournal of Industrial Information Integration10.1016/j.jii.2024.10067441(100674)Online publication date: Sep-2024
    • (2024)The role of ontologies in smart contracts: A systematic literature reviewJournal of Industrial Information Integration10.1016/j.jii.2024.10063040(100630)Online publication date: Jul-2024
    • (2024)Blockchain technology characteristics essential for the agri-food sector: A systematic reviewFood Control10.1016/j.foodcont.2024.110661165(110661)Online publication date: Nov-2024
    • (2024)SmartCML: A Visual Modeling Language to Enhance the Comprehensibility of Smart Contract ImplementationsThe Practice of Enterprise Modeling10.1007/978-3-031-77908-4_6(87-104)Online publication date: 30-Nov-2024
    • Show More Cited By

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media