Skip to main content
Log in

A survey on automation approaches of smart contract generation

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In the blockchain environment, smart contracts are computer programs that run on the blockchain platform. However, the development of smart contracts is a major challenge for developers, since blockchain platforms are still evolving. Owing to the inherited nature of blockchain, developing smart contracts without introducing vulnerabilities is not an easy task, as the deployed code is immutable and can be invoked by anyone with access to the network. Smart contracts have proved to be error-prone in practice due to the complexity of programming. Additionally, non-functional requirements, such as service cost, security, performance, authorization, and authentication, should be well implemented and defined in computer systems. In this paper, we aim to present a systematic literature review to outline in detail different approaches of smart contracts generation. Furthermore, we present a comparison of the existing approaches based on a classification according to automation paradigm and a set of defined criteria. Finally, we discuss the gaps in the literature, as well as identify a set of potential challenges which can significantly strengthen the existing work. The study shows that the examined works focused only on a limited number of specific features, such as authorization, asset control, and security. Additionally, formal verification of smart contracts and data privacy are poorly addressed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. https://www.mendeley.com.

  2. https://github.com/RawyaMars/SLR_results.git.

References

  1. Haber S, Stornetta WS (1990) How to time-stamp a digital document. In: Conference on the Theory and Application of Cryptography. Springer, pp 437–455

  2. Nakamoto S (2008) Bitcoin: a peer-to-peer electronic cash system. Decentralized business review

  3. Antonopoulos AM (2014) Mastering bitcoin: unlocking digital cryptocurrencies. O’Reilly Media Inc, California

    Google Scholar 

  4. Wüst K, Gervais A (2018) Do you need a blockchain? In: 2018 Crypto Valley Conference on Blockchain Technology (CVCBT), pp 45–54. IEEE

  5. Wood G et al (2014) Ethereum: a secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper 151(2014):1–32

    Google Scholar 

  6. De Sousa VA, Corentin B (2019) Towards an integrated methodology for the development of blockchain-based solutions supporting cross-organizational processes. In: 2019 13th International Conference on Research Challenges in Information Science (RCIS), pp 1–6. IEEE

  7. Gartner I (2018) Gartner survey reveals the scarcity of current blockchain deployments. Gartner Press Release. https://www.gartner.com/en/newsroom/press-releases/2018-05-03-gartner-survey-reveals-the-scarcity-of-current-blockchain-developments

  8. News B DeFi’s Smart Contract Risks: Cream Finance’s Input Error Led to CREAM Token Plunging 25%. https://blockchain.news/news/defi-smart-contract-risks-cream-finance-input-error-token-plunge

  9. Luu L, Chu D-H, Olickel H, Saxena P, Hobor A (2016) Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. CCS ’16, pp 254–269. Association for Computing Machinery, New York, NY, USA (2016). https://doi.org/10.1145/2976749.2978309

  10. López-Pintado O, García-Bañuelos L, Dumas M, Weber I, Ponomarev A (2019) Caterpillar: a business process execution engine on the Ethereum blockchain. Softw Pract Exp 49(7):1162–1193

    Google Scholar 

  11. Szabo N (1997) Formalizing and securing relationships on public networks. First Monday. https://doi.org/10.5210/fm.v2i9.548

    Article  Google Scholar 

  12. Clack CD (2018) Smart contract templates: legal semantics and code validation. J Digital Bank 2(4):338–352

    Google Scholar 

  13. Stark J (2016) Making sense of blockchain smart contracts. https://www.coindesk.com/markets/2016/06/04/making-sense-of-blockchain-smart-contracts/

  14. Clack CD, Bakshi VA, Braine L (2016) Smart contract templates: foundations, design landscape and research directions. CoRR 1608.00771

  15. Macrinici D, Cartofeanu C, Gao S (2018) Smart contract applications within blockchain technology: a systematic mapping study. Telematics Inform 35(8):2337–2354

    Article  Google Scholar 

  16. Hovsepyan A, Baelen SV, Vanhooff B, Joosen W, Berbers Y (2006) Key research challenges for successfully applying mdd within real-time embedded software development. In: International Workshop on Embedded Computer Systems, pp 49–58. Springer

  17. Ait Hsain Y, Laaz N, Mbarki S (2021) Ethereum’s smart contracts construction and development using model driven engineering technologies: a review. Procedia Computer Science 184, 785–790. https://doi.org/10.1016/j.procs.2021.03.097. The 12th International Conference on Ambient Systems, Networks and Technologies (ANT) / The 4th International Conference on Emerging Data and Industry 4.0 (EDI40) / Affiliated Workshops

  18. Kushwaha SS, Joshi S, Singh D, Kaur M, Lee H-N (2022) Ethereum smart contract analysis tools: a systematic review. IEEE Access

  19. Hu B, Zhang Z, Liu J, Liu Y, Yin J, Lu R, Lin X (2021) A comprehensive survey on smart contract construction and execution: paradigms, tools, and systems. Patterns 2(2):100179

    Article  Google Scholar 

  20. Sánchez-Gómez N, Torres-Valderrama J, García-García JA, Gutiérrez JJ, Escalona M (2020) Model-based software design and testing in blockchain smart contracts: a systematic literature review. IEEE Access 8:164556–164569

    Article  Google Scholar 

  21. Imeri A, Agoulmine N, Khadraoui, D (2020) Smart contract modeling and verification techniques: A survey. In: 8th International Workshop on ADVANCEs in ICT Infrastructures and Services (ADVANCE 2020), pp 1–8 (2020)

  22. Dixit A, Deval V, Dwivedi V, Norta A, Draheim D (2022) Towards user-centered and legally relevant smart-contract development: a systematic literature review. J Ind Inf Integr 26:100314

    Google Scholar 

  23. Kitchenham B (2007) Guidelines for performing systematic literature reviews in software engineering. EBSE Technical Report EBSE-2007-01

  24. Kitchenham BA, Budgen D, Brereton P (2015). Evidence-based software engineering and systematic reviews. https://doi.org/10.1201/b19467

  25. Wohlin C (2014) Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, pp 1–10

  26. Schmucker CM, Blümle A, Schell LK, Schwarzer G, Oeller P, Cabrera L, von Elm E, Briel M, Meerpohl JJ, OPEN consortium (2017) Systematic review finds that study data not published in full text articles have unclear impact on meta-analyses results in medical research. PloS ONE 12(4):0176210

    Article  Google Scholar 

  27. López-Pintado O, García-Bañuelos L, Dumas M, Weber I (2017) Caterpillar: a blockchain-based business process management system. In: BPM (Demos)

  28. Tran AB, Lu Q, Weber I (2018) Lorikeet: a model-driven engineering tool for blockchain-based business process execution and asset management. In: BPM (dissertation/demos/industry), pp 56–60

  29. Garamvölgyi P, Kocsis I, Gehl B, Klenik A (2018) Towards model-driven engineering of smart contracts for cyber-physical systems. In: 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W), pp 134–139. IEEE

Selected Papers

  1. Falazi G, Hahn M, Breitenbücher U, Leymann F (2019) Modeling and execution of blockchain-aware business processes. SICS Softw-Intensive Cyber-Phys Syst 34(2):105–116

    Google Scholar 

  2. Syahputra H, Weigand H (2019) The development of smart contracts for heterogeneous blockchains. In: Enterprise Interoperability VIII, pp 229–238. Springer, Cham

  3. Hu K, Zhu J, Ding Y, Bai X, Huang J (2020) Smart contract engineering. Electronics 9(12):2042

    Article  Google Scholar 

  4. De Sousa VA, Burnay C, Snoeck M (2020) B-merode: a model-driven engineering and artifact-centric approach to generate blockchain-based information systems. In: International Conference on Advanced Information Systems Engineering, pp 117–133. Springer

  5. Zupan N, Kasinathan P, Cuellar J, Sauer M (2020) Secure smart contract generation based on petri nets. In: Blockchain Technology for Industry 4.0, pp 73–98. Springer, Singapore

  6. Corradini F, Marcelletti A, Morichetta A, Polini A, Re B, Scala E, Tiezzi F (2021) Model-driven engineering for multi-party business processes on multiple blockchains. Blockchain Res Appl 2(3):100018

    Article  Google Scholar 

  7. Ye X, König M (2021) From the graphical representation to the smart contract language: a use case in the construction industry. In: Proceedings of the 38th International Symposium on Automation and Robotics in Construction (ISARC)

  8. Samreen NF (2021) Secure mde for Ethereum-based decentralized applications (dapps) development. In: 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), pp 678–683. IEEE

  9. Frantz CK, Nowostawski M (2016) From institutions to code: towards automated generation of smart contracts. In: 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS* W), pp 210–215. IEEE

  10. Mavridou A, Laszka A (2018) Designing secure Ethereum smart contracts: a finite state machine based approach. In: International Conference on Financial Cryptography and Data Security, pp 523–540. Springer

  11. Skotnica M, Pergl R (2019) Das contract: a visual domain specific language for modeling blockchain smart contracts. In: EEWC

  12. Mavridou A, Laszka A, Stachtiari E, Dubey A (2019) Verisolid: correct-by-design smart contracts for Ethereum. In: International Conference on Financial Cryptography and Data Security, pp 446–465. Springer

  13. Skotnica M, Klicpera JA, Pergl R (2020) Towards model-driven smart contract systems: code generation and improving expressivity of smart contract modeling

  14. Wöhrer M, Zdun U (2020) Domain specific language for smart contract development. 2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC), pp 1–9

  15. Dwivedi V, Norta A Auto-generation of smart contracts from a domain-specific xml-based language

  16. Hamdaqa M, Met LAP, Qasse IA (2021) icontractml 2.0: A domain-specific language for modeling and deploying smart contracts onto multiple blockchain platforms. Inf Softw Technol

  17. Skotnica M, Aparício M, Pergl R, Guerreiro S (2021) Process digitalization using blockchain: Eu parliament elections case study. In: MODELSWARD, pp 65–75

  18. Bistarelli S, Faloci F, Mori P (2021) *. chain: automatic coding of smart contracts and user interfaces for supply chains. In: 2021 Third International Conference on Blockchain Computing and Applications (BCCA), pp 164–171. IEEE

  19. Weingaertner T, Rao R, Ettlin J, Suter P, Dublanc P (2018) Smart contracts using blockly: Representing a purchase agreement using a graphical programming language. In: 2018 Crypto Valley Conference on Blockchain Technology (CVCBT), pp 55–64. https://doi.org/10.1109/CVCBT.2018.00012

  20. Guida L, Daniel F (2019) Supporting reuse of smart contracts through service orientation and assisted development. In: 2019 IEEE International Conference on Decentralized Applications and Infrastructures (DAPPCON), pp 59–68. IEEE

  21. Mao D, Wang F, Wang Y, Hao Z (2019) Visual and user-defined smart contract designing system based on automatic coding. IEEE Access 7:73131–73143

    Article  Google Scholar 

  22. Merlec MM, Lee YK, In HP (2021) Smartbuilder: a block-based visual programming framework for smart contract development. In: 2021 IEEE International Conference on Blockchain (Blockchain). IEEE, pp 90–94

  23. Lakshminarayana K, Sathiyamurthy K (2022) Towards auto contract generation and ensemble-based smart contract vulnerability detection. Int J Electric Comput Eng Syst 13(9):747–757

    Google Scholar 

  24. Jurgelaitis M, Ceponiene L, Butkus K, Butkiene R, Drungilas V (2023) Mda-based approach for blockchain smart contract development. Appl Sci. https://doi.org/10.3390/app13010487

    Article  Google Scholar 

  25. Tan S, S Bhowmick S, Chua HE, Xiao X (2020) Latte: visual construction of smart contracts. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pp 2713–2716

  26. Crawford SE, Ostrom E (1995) A grammar of institutions. Am Political Sci Rev 89(3):582–600

    Article  Google Scholar 

  27. Mühlberger R, Bachhofner S, Ferrer EC, Di Ciccio C, Weber I, Wöhrer M, Zdun U (2020) Foundational oracle patterns: connecting blockchain to the off-chain world. In: International Conference on Business Process Management. Springer, pp 35–51

  28. Garfatta I, Klai K, Gaaloul W, Graiet M (2021) A survey on formal verification for Solidity smart contracts. In: 2021 Australasian Computer Science Week Multiconference. ACSW ’21. Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3437378.3437879

Download references

Author information

Authors and Affiliations

Authors

Contributions

RM and SC wrote the main manuscript text. SK and AHK reviewed and edited the manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Rawya Mars.

Ethics declarations

Ethical approval

Not applicable.

Conflict of interest

The authors declare that they have no competing interests.

Funding

Not applicable.

Availability of data and materials

Not applicable.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mars, R., Cheikhrouhou, S., Kallel, S. et al. A survey on automation approaches of smart contract generation. J Supercomput 79, 16065–16097 (2023). https://doi.org/10.1007/s11227-023-05262-8

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-023-05262-8

Keywords

Navigation