Abstract
Blockchain has been one of Gartner’s Top 10 Strategic Technology Trends for several consecutive years. The technology has evolved from a platform allowing transactions of cryptocurrency between peers (e.g. Bitcoin) to a platform allowing the design of Decentralized Applications (DApps). Despite their growing popularity, little attention has been paid to the Software Engineering aspect of DApps. In this work, we aim to start bridging this gap by addressing the Requirements Engineering of DApps. We collect, analyze and integrate DApp user reviews in order to propose a first list of user requirements for DApps. The results can have practical implications for both practitioners and researchers. The former can use the results to guide them in the design of DApps, while the latter can see this paper as a first result to build upon to advance the software engineering field of blockchain-based applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
There are more than 3000 DApps on Ethereum (www.stateofthedapps.com) and the number of transactions a day has been around the 1 million mark since August 2020 (www.etherchain.org).
- 3.
We used www.stateofthedapps.com, which offers rankings of DApps running on various platforms.
- 4.
According to Statista (https://www.statista.com), in 2020, there were +3 millions and +2 millions apps on Google Play and on the Apple app store respectively.
References
Antonopoulos, A.M., Wood, G.: Mastering Ethereum: Building Smart Contracts and Dapps. O’Reilly Media (2018)
Axon, L., Goldsmith, M., Creese, S.: Privacy requirements in cybersecurity applications of blockchain. In: Advances in Computers, vol. 111, pp. 229–278. Elsevier (2018)
Buterin, V., et al.: A next-generation smart contract and decentralized application platform. White Paper 3, 37 (2014)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-functional requirements in software engineering, vol. 5. Springer (2012)
Chung, L., do Prado Leite, J.C.S.: On non-functional requirements in software engineering. In: Borgida, A.T., Chaudhri, V.K., Giorgini, P., Yu, E.S. (eds.) Conceptual Modeling: Foundations and Applications. LNCS, vol. 5600, pp. 363–379. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02463-4_19
Dabrowski, J., Letier, E., Perini, A., Susi, A.: Mining user opinions to support requirement engineering: an empirical study. In: Dustdar, S., Yu, E., Salinesi, C., Rieu, D., Pant, V. (eds.) CAiSE 2020. LNCS, vol. 12127, pp. 401–416. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-49435-3_25
Destefanis, G., Marchesi, M., Ortu, M., Tonelli, R., Bracciali, A., Hierons, R.: Smart contracts vulnerabilities: a call for blockchain software engineering? In: 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE), pp. 19–25. IEEE (2018)
Drljevic, N., Aranda, D.A., Stantchev, V.: Perspectives on risks and standards that affect the requirements engineering of blockchain technology. Comput. Standards Interfaces 69, 103409 (2019)
D’Oriano, L., et al.: Decentralized blockchain flexibility system for smart grids: requirements engineering and use cases. In: 2018 International IEEE Conference and Workshop in Óbuda on Electrical and Power Engineering (CANDO-EPE), pp. 39–44. IEEE (2018)
Eckhardt, J., Vogelsang, A., Fernández, D.M.: Are “non-functional” requirements really non-functional? an investigation of non-functional requirements in practice. In: Proceedings of the 38th International Conference on Software Engineering, pp. 832–842 (2016)
Fan, K., Sun, S., Yan, Z., Pan, Q., Li, H., Yang, Y.: A blockchain-based clock synchronization scheme in IoT. Fut. Gener. Comput. Syst. 101, 524–533 (2019)
Glinz, M.: On non-functional requirements. In: 15th IEEE International Requirements Engineering Conference (RE 2007), pp. 21–26. IEEE (2007)
Hastig, G., Sodhi, M.S.: Blockchain for supply chain traceability: business requirements and critical success factors. Prod. Oper. Manage. 29(4), 935–954 (2019)
Hosseini, M., Groen, E.C., Shahri, A., Ali, R.: Craft: a crowd-annotated feedback technique. In: 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), pp. 170–175. IEEE (2017)
Jha, N., Mahmoud, A.: Mining non-functional requirements from app store reviews. Empirical Softw. Eng. 24(6), 3659–3695 (2019)
Kassab, M., DeFranco, J., Malas, T., Destefanis, G., Neto, V.V.G.: Investigating quality requirements for blockchain-based healthcare systems. In: 2019 IEEE/ACM 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), pp. 52–55. IEEE (2019)
Khalifa, D., Madjid, N.A., Svetinovic, D.: Trust requirements in blockchain systems: a preliminary study. In: 2019 Sixth International Conference on Software Defined Systems (SDS), pp. 310–313. IEEE (2019)
Khan, J.A., Liu, L., Wen, L., Ali, R.: Crowd intelligence in requirements engineering: current status and future directions. In: Knauss, E., Goedicke, M. (eds.) REFSQ 2019. LNCS, vol. 11412, pp. 245–261. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-15538-4_18
Kumar, T., Ramani, V., Ahmad, I., Braeken, A., Harjula, E., Ylianttila, M.: Blockchain utilization in healthcare: key requirements and challenges. In: 2018 IEEE 20th International Conference on e-Health Networking, Applications and Services (Healthcom), pp. 1–7. IEEE (2018)
Leiding, B., Norta, A.: Mapping requirements specifications into a formalized blockchain-enabled authentication protocol for secured personal identity assurance. In: Dang, T.K., Wagner, R., Küng, J., Thoai, N., Takizawa, M., Neuhold, E.J. (eds.) FDSE 2017. LNCS, vol. 10646, pp. 181–196. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70004-5_13
Marchesi, M., Marchesi, L., Tonelli, R.: An agile software engineering method to design blockchain applications. In: Proceedings of the 14th Central and Eastern European Software Engineering Conference Russia, p. 3. ACM (2018)
Munante, D., Siena, A., Kifetew, F.M., Susi, A., Stade, M., Seyff, N.: Gathering requirements for software configuration from the crowd. In: 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), pp. 176–181. IEEE (2017)
Nguyen, C.T., Hoang, D.T., Nguyen, D.N., Niyato, D., Nguyen, H.T., Dutkiewicz, E.: Proof-of-stake consensus mechanisms for future blockchain networks: fundamentals, applications and opportunities. IEEE Access 7, 85727–85745 (2019)
Pop, C., et al.: Blockchain-based scalable and tamper-evident solution for registering energy data. Sensors 19(14), 3033 (2019)
Porru, S., Pinna, A., Marchesi, M., Tonelli, R.: Blockchain-oriented software engineering: challenges and new directions. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 169–171. IEEE (2017)
Raval, S.: Decentralized Applications: Harnessing Bitcoin’s Blockchain Technology. O’Reilly Media, Inc. (2016)
Sherief, N., Abdelmoez, W., Phalp, K., Ali, R.: Modelling users feedback in crowd-based requirements engineering: an empirical study. In: Ralyté, J., España, S., Pastor, Ó. (eds.) PoEM 2015. LNBIP, vol. 235, pp. 174–190. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-25897-3_12
Snijders, R., Dalpiaz, F., Hosseini, M., Shahri, A., Ali, R.: Crowd-centric requirements engineering. In: 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, pp. 614–615. IEEE (2014)
Swan, M.: Blockchain: blueprint for a new economy. O’Reilly Media, Inc. (2015)
Wessling, F., Gruhn, V.: Engineering software architectures of blockchain-oriented applications. In: 2018 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 45–46. IEEE (2018)
Xu, X., Weber, I., Staples, M.: Architecture for Blockchain Applications. Springer (2019). https://doi.org/10.1007/978-3-030-03035-3
Yang, W., Aghasian, E., Garg, S., Herbert, D., Disiuta, L., Kang, B.: A survey on blockchain-based internet service architecture: requirements, challenges, trends and future. IEEE Access 7, 75845–75872 (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Bouraga, S., Burnay, C., Jureta, I., Faulkner, S. (2021). Requirements Elicitation for Applications Running on a Blockchain: Preliminary Results. In: Nurcan, S., Korthaus, A. (eds) Intelligent Information Systems. CAiSE 2021. Lecture Notes in Business Information Processing, vol 424. Springer, Cham. https://doi.org/10.1007/978-3-030-79108-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-79108-7_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-79107-0
Online ISBN: 978-3-030-79108-7
eBook Packages: Computer ScienceComputer Science (R0)