Abstract
Smart Contracts are pieces of software that are deployed in Blockchain infrastructures to enable the interaction (and production of value) between unknown parties, without intermediaries, but in a trustworthy and transparent manner. A key to Smart Contracts’ success is their delivery to excellent standards of quality (e.g., security, documentation, code understandability etc.). To achieve this goal, the development of Smart Contracts needs to be driven by proven software engineering practices. In this paper, we conducted a systematic mapping study to get a comprehensive overview on how “good” software engineering practices are applied to Smart Contract Development. To identify primary studies that lie on the intersection of software engineering and smart contract development, we have selected specific publication venues and queried the literature. After applying the selection criteria, 113 studies were identified, analyzed, and synthesized results have been reported. The results provided some actionable implications for researchers and practitioners.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alharby, M., Aldweesh, A., Moorsel, A.V: Blockchain-based smart contracts: a systematic mapping study of academic research (2018). In: International Conference on Cloud Computing, Big Data and Blockchain (ICCBB). Fuzhou, China, pp. 1–6 (2018)
Ajienka, N., Vangorp, P., Capiluppi, A.: An empirical analysis of source code metrics and smart contract resource consumption. J. Softw. Evol. Process 32(10) (2020)
Demi, S., Colomo-Palacios, R., Sánchez-Gordón, M.: Software engineering applications enabled by blockchain technology: a systematic mapping study. Appl. Sci. 11(7) (2021)
Kannengiesser, N., Lins, S., Sander, C., Winter, K., Frey, H., Sunyaev, A.: Challenges and common solutions in smart contract development. Trans. Softw. Eng. 48(11), 4291–4318 (2022)
Macrinici, D., Cartofeanu, C., Gao, S.: Smart contract applications within blockchain technology: a systematic mapping study. Telemat. Inform. 35(8) (2018)
Nakamoto, S.: Bitcoin: A Peer-to-Peer Electronic Cash System, https://bitcoin.org/bitcoin.pdf, last accessed 2024/08/04
Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M.: Systematic mapping studies in software engineering. In: 12th International Conference on Evaluation and Assessment in Software Engineering (EASE 2008), pp. 68–77, 26–27. Bari, Italy (2008)
Sánchez-Gómez, N., Torres, J., Garcia-Garcia, J.A., Escalona, M.J, Gutierrez, Javier J., Es-calona, M.J.: Model-based software design and testing in blockchain smart contracts: a systematic literature review. IEEE Access 8 (2020)
Szabo, N.: Formalizing and securing relationships on public networks. First Monday (1997)
Tariq, F., Colomo-Palacios, R.: Use of blockchain smart contracts in software engineering: a systematic mapping. Computational Science and Its Applications – ICCSA (2019)
Tonelli, R., Destefanis, G., Marchesi, M., Ortu, M.: “Smart Contracts Software Metrics: a First Study”, PLoS ONE, 18 (4) (2023)
Vacca, A., Di Sorbo, C., Visaggio, A., Canfora, G.: A systematic literature review of blockchain and smart contract development: techniques, tools, and open challenges. J. Syst. Softw. 174 (2021)
Zou, W., et al.: Smart contract development: challenges and opportunities. Trans. Softw. Eng. 47(10), 2084–2106 (2021)
Acknowledgments
This study has been partially funded by the Horizon Europe Framework Programme of the European Union under Grant agreement no 101058479.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Giatzis, A. et al. (2025). Software Engineering Practices in Smart Contract Development: A Systematic Mapping Study. In: Pfahl, D., Gonzalez Huerta, J., Klünder, J., Anwar, H. (eds) Product-Focused Software Process Improvement. PROFES 2024. Lecture Notes in Computer Science, vol 15452. Springer, Cham. https://doi.org/10.1007/978-3-031-78386-9_26
Download citation
DOI: https://doi.org/10.1007/978-3-031-78386-9_26
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-78385-2
Online ISBN: 978-3-031-78386-9
eBook Packages: Computer ScienceComputer Science (R0)