Towards Blockchain Developer Experience (BcDEx): Exploring Dimensions of Developer Experience in Blockchain-oriented Software Engineering
Resumo
The Developer Experience (DEx) in the context of blockchain and decentralized applications has to deal with new or adapted software engineering practices due to the particular characteristics of these technologies. This study proposes the idea of Blockchain Developer Experience (BcDEx) influenced by different practices of Blockchain-Oriented Software Engineering (BOSE). To achieve this purpose, we categorize and discuss critical BcDEx factors based on a well-established DEx conceptual framework covering cognitive, affective, and conation dimensions. Furthermore, we reveal new directions that can benefit both research and practice in BcDEx, encompassing practical aspects such as using technical resources and organizational considerations.
Palavras-chave:
Blockchain Developer Experience, Blockchain-oriented Software Engineering
Referências
ACQUIN. 2023. Blueprint of a VET qualification on Blockchain and Distributed Ledger Technologies.
Tommaso Amadeo. 2021. Blockchain and distributed ledger technologies in business innovation: an analysis of the international blockchain startup ecosystem. (2021).
Imran Bashir. 2017. Mastering blockchain. Packt Publishing Ltd, Birmingham, United Kingdom. 540 pages.
R. Beck, M. Avital, M. Rossi, and J. B. Thatcher. 2017. Blockchain technology in business and information systems research. Business & Information Systems Engineering (nov. 2017), 381–384. DOI: 10.1007/s12599-017-0505-1
Marianna Belotti, Nikola Božić, Guy Pujolle, and Stefano Secci. 2019. A vademecum on blockchain technologies: When, which, and how. IEEE Communications Surveys & Tutorials 21, 4 (2019), 3796–3838.
Stefanos Chaliasos, Marcos Antonios Charalambous, Liyi Zhou, Rafaila Galanopoulou, Arthur Gervais, Dimitris Mitropoulos, and Benjamin Livshits. 2024. Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners?. In Proceedings of the 46th IEEE/ACM International Conference on Software Engineering. 1–13.
Stefanos Chaliasos, Arthur Gervais, and Benjamin Livshits. 2022. A study of inline assembly in solidity smart contracts. Proceedings of the ACM on Programming Languages 6, OOPSLA2 (2022), 1123–1149.
Vivek Chaurasia and Manoj Kamber. 2023. Unleashing blockchain magic: a comparative journey through developer ecosystems and tools in Ethereum, Polygon, and Polkadot. (2023).
Saori Costa, Matheus Paixao, Igor Steinmacher, Pamella Soares, Allysson Allex Araújo, and Jerffeson Sousa. 2024. Sociotechnical Dynamics in Open Source Smart Contract Repositories: An Exploratory Data Analysis of Curated High Market Value Projects. In Proceedings of the 20th International Conference on Predictive Models and Data Analytics in Software Engineering. 22–31.
Giuseppe Destefanis, Michele Marchesi, Marco Ortu, Roberto Tonelli, Andrea Bracciali, and Robert Hierons. 2018. Smart contracts vulnerabilities: a call for blockchain software engineering?. In 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE). IEEE, 19–25.
Monika Di Angelo and Gernot Salzer. 2019. A survey of tools for analyzing ethereum smart contracts. In 2019 IEEE international conference on decentralized applications and infrastructures (DAPPCON). IEEE, 69–78.
Anıl Elakaş, Hasan Sözer, Ilgın Şafak, and Kübra Kalkan. 2024. A systematic mapping on software testing for blockchains. Cluster Computing (2024), 1–16.
Fabian Fagerholm and Jürgen Münch. 2012. Developer experience: Concept and definition. In 2012 international conference on software and system process (ICSSP). IEEE, 73–77.
Gartner. 2024. Gartner survey reveals the scarcity of current blockchain deployments. [link].
Prince Harrison. 2024. Remote Work in Web3: How Distributed Teams Are Driving Innovation. [link].
Atharva Hire, Harsh Lanjewar, Prathamesh Haridas, Makarand Jadhav, and Milind Rane. 2023. Decentralized Lottery Using Blockchain. In 2023 3rd International Conference on Pervasive Computing and Social Networking. IEEE, 1035–1041.
Samu Honkamäki. 2022. Evaluating Ethereum development environments. Master’s thesis. S. Honkamäki.
Simona Ibba. 2019. Agile methodologies and blockchain development. (2019).
Cosmin Irimia, Luciana Bejan, and Adrian Iftene. 2023. BlockchainPedia: A Comprehensive Framework for Blockchain Network Comparison. Procedia Computer Science 225 (2023), 2302–2311.
Mudabbir Kaleem, Anastasia Mavridou, and Aron Laszka. 2020. Vyper: A security comparison with solidity based on common vulnerabilities. In 2nd conference on blockchain research & applications for innovative networks and services. IEEE, 107–111.
Natalia Karayaneva. 2019. The Growing Trend inWorkspaces: Distributed Remote Teams.
Mohamad Kassab, Giuseppe Destefanis, Joanna DeFranco, and Prince Pranav. 2021. Blockchain-engineers wanted: an empirical analysis on required skills, education and experience. In 2021 IEEE/ACM 4th International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB). IEEE, 49–55.
Shawal Khalid and Chris Brown. 2023. Software engineering approaches adopted by blockchain developers. In 2023 Tenth International Conference on Software Defined Systems (SDS). IEEE, 1–6.
Raj Kumar Reddy Kotha and Micheal Sony. 2023. Complexity and ambiguity for blockchain adoption in supply chain management. In Blockchain in a Volatile-Uncertain-Complex-Ambiguous World. Elsevier, 29–41.
Mary C Lacity. 2018. Addressing key challenges to making enterprise blockchain applications a reality. MIS Quarterly Executive 17, 3 (2018), 201–222.
Xiaoyun Li, Zibin Zheng, and Hong-Ning Dai. 2021. When services computing meets blockchain: Challenges and opportunities. J. Parallel and Distrib. Comput. 150 (2021), 1–14.
Lodovica Marchesi, Michele Marchesi, Giuseppe Destefanis, Giulio Barabino, and Danilo Tigano. 2020. Design patterns for gas optimization in ethereum. In 2020 IEEE International Workshop on Blockchain Oriented Software Engineering (IWBOSE). IEEE, 9–15.
Lodovica Marchesi, Michele Marchesi, and Roberto Tonelli. 2020. ABCDE—Agile block chain DApp engineering. Blockchain: Research and Applications 1, 1-2 (2020), 100002.
Anders Nylund et al. 2020. A multivocal literature reviewon developer experience. (2020).
Jeffery Oke-Samuel. 2024. How to Boost Efficiency and Productivity as a Blockchain Engineer. [link].
Md Mehedi Hassan Onik and Mahdi H Miraz. 2019. Performance analytical comparison of blockchain-as-a-service (baas) platforms. In International Conference for Emerging Technologies in Computing. Springer, 3–18.
Reza M Parizi, Amritraj, and Ali Dehghantanha. 2018. Smart contract programming languages on blockchains: An empirical evaluation of usability and security. In Blockchain–ICBC 2018: First International Conference, Held as Part of the Services Conference Federation. Springer, 75–91.
Simone Porru, Andrea Pinna, Michele Marchesi, and Roberto Tonelli. 2017. Blockchain-oriented software engineering: challenges and new directions. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). IEEE, 169–171.
Siraj Raval. 2016. Decentralized applications: harnessing Bitcoin’s blockchain technology. " O’Reilly Media, Inc.".
Ali Raza. 2024. Why You Should Learn Web 2.0 Before Getting into Web 3.0. [link].
Alan Rodrigues, Allysson Allex Araújo, Matheus Paixao, and Pamella Soares. 2022. Aspectos Colaborativos no Desenvolvimento de Contratos Inteligentes da Plataforma Ethereum: Um Estudo Exploratório-descritivo Preliminar. In VII Workshop sobre Aspectos Sociais, Humanos e Econômicos de Software. SBC, 56–60.
Vincenzo Sagristano. 2023. Smart Contract Developer Experience Enhancement. Ph.D. Dissertation. Politecnico di Torino.
Nicolás Sánchez-Gómez, Jesus Torres-Valderrama, Julián Alberto García-García, Javier J Gutiérrez, and MJ Escalona. 2020. Model-based software design and testing in blockchain smart contracts: A systematic literature review. IEEE Access 8 (2020), 164556–164569.
Tanusree Sharma, Zhixuan Zhou, Andrew Miller, and Yang Wang. 2023. A {Mixed-Methods} study of security practices of smart contract developers. In 32nd USENIX Security Symposium (USENIX Security 23). 2545–2562.
Nicolas Six, Nicolas Herbaut, and Camille Salinesi. 2022. Blockchain software patterns for the design of decentralized applications: A systematic literature review. Blockchain: Research and Applications 3, 2 (2022), 100061.
Jie Song, Pengyi Zhang, Mohammed Alkubati, Yubin Bao, and Ge Yu. 2022. Research advances on blockchain-as-a-service: Architectures, applications and challenges. Digital Communications and Networks 8, 4 (2022), 466–475.
Mario Song. 2020. FOSS Governance and Blockchain Networks.
Startuptalky. 2023. Startup Failure and Success Rates: 2023 Research. [link].
Teal. 2024. Blockchain Developer Work-Life Balance. [link].
TokenMinds. 2024. Token distribution ultimate guide - Maximizing your crypto project’s success in 2024.
Upsilon. 2024. Startups’ success and failure rate in 2024. [link].
Anna Vacca, Andrea Di Sorbo, Corrado A Visaggio, and Gerardo Canfora. 2021. A systematic literature review of blockchain and smart contract development: Techniques, tools, and open challenges. Journal of Systems and Software 174 (2021), 110891.
Rijnard van Tonder. 2024. Verifying and Displaying Move Smart Contract Source Code for the Sui Blockchain. In Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings. 26–29.
Ammar Voloder and Monika di Angelo. 2023. Comparison of Smart Contract Platforms from the Perspective of Developers. In International Conference on Blockchain. Springer, 104–118.
Karl Wüst and Arthur Gervais. 2018. Do you need a blockchain?. In 2018 crypto valley conference on blockchain technology (CVCBT). IEEE, 45–54.
Jaka Zavratnik. 2022. Analysis of web3 solution development principles. Master’s thesis. Universitat Politècnica de Catalunya.
Zibin Zheng, Jianzhong Su, Jiachi Chen, David Lo, Zhijie Zhong, and Mingxi Ye. 2024. Dappscan: building large-scale datasets for smart contract weaknesses in dapp projects. IEEE Transactions on Software Engineering (2024).
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 transactions on software engineering 47, 10 (2019), 2084–2106.
Tommaso Amadeo. 2021. Blockchain and distributed ledger technologies in business innovation: an analysis of the international blockchain startup ecosystem. (2021).
Imran Bashir. 2017. Mastering blockchain. Packt Publishing Ltd, Birmingham, United Kingdom. 540 pages.
R. Beck, M. Avital, M. Rossi, and J. B. Thatcher. 2017. Blockchain technology in business and information systems research. Business & Information Systems Engineering (nov. 2017), 381–384. DOI: 10.1007/s12599-017-0505-1
Marianna Belotti, Nikola Božić, Guy Pujolle, and Stefano Secci. 2019. A vademecum on blockchain technologies: When, which, and how. IEEE Communications Surveys & Tutorials 21, 4 (2019), 3796–3838.
Stefanos Chaliasos, Marcos Antonios Charalambous, Liyi Zhou, Rafaila Galanopoulou, Arthur Gervais, Dimitris Mitropoulos, and Benjamin Livshits. 2024. Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners?. In Proceedings of the 46th IEEE/ACM International Conference on Software Engineering. 1–13.
Stefanos Chaliasos, Arthur Gervais, and Benjamin Livshits. 2022. A study of inline assembly in solidity smart contracts. Proceedings of the ACM on Programming Languages 6, OOPSLA2 (2022), 1123–1149.
Vivek Chaurasia and Manoj Kamber. 2023. Unleashing blockchain magic: a comparative journey through developer ecosystems and tools in Ethereum, Polygon, and Polkadot. (2023).
Saori Costa, Matheus Paixao, Igor Steinmacher, Pamella Soares, Allysson Allex Araújo, and Jerffeson Sousa. 2024. Sociotechnical Dynamics in Open Source Smart Contract Repositories: An Exploratory Data Analysis of Curated High Market Value Projects. In Proceedings of the 20th International Conference on Predictive Models and Data Analytics in Software Engineering. 22–31.
Giuseppe Destefanis, Michele Marchesi, Marco Ortu, Roberto Tonelli, Andrea Bracciali, and Robert Hierons. 2018. Smart contracts vulnerabilities: a call for blockchain software engineering?. In 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE). IEEE, 19–25.
Monika Di Angelo and Gernot Salzer. 2019. A survey of tools for analyzing ethereum smart contracts. In 2019 IEEE international conference on decentralized applications and infrastructures (DAPPCON). IEEE, 69–78.
Anıl Elakaş, Hasan Sözer, Ilgın Şafak, and Kübra Kalkan. 2024. A systematic mapping on software testing for blockchains. Cluster Computing (2024), 1–16.
Fabian Fagerholm and Jürgen Münch. 2012. Developer experience: Concept and definition. In 2012 international conference on software and system process (ICSSP). IEEE, 73–77.
Gartner. 2024. Gartner survey reveals the scarcity of current blockchain deployments. [link].
Prince Harrison. 2024. Remote Work in Web3: How Distributed Teams Are Driving Innovation. [link].
Atharva Hire, Harsh Lanjewar, Prathamesh Haridas, Makarand Jadhav, and Milind Rane. 2023. Decentralized Lottery Using Blockchain. In 2023 3rd International Conference on Pervasive Computing and Social Networking. IEEE, 1035–1041.
Samu Honkamäki. 2022. Evaluating Ethereum development environments. Master’s thesis. S. Honkamäki.
Simona Ibba. 2019. Agile methodologies and blockchain development. (2019).
Cosmin Irimia, Luciana Bejan, and Adrian Iftene. 2023. BlockchainPedia: A Comprehensive Framework for Blockchain Network Comparison. Procedia Computer Science 225 (2023), 2302–2311.
Mudabbir Kaleem, Anastasia Mavridou, and Aron Laszka. 2020. Vyper: A security comparison with solidity based on common vulnerabilities. In 2nd conference on blockchain research & applications for innovative networks and services. IEEE, 107–111.
Natalia Karayaneva. 2019. The Growing Trend inWorkspaces: Distributed Remote Teams.
Mohamad Kassab, Giuseppe Destefanis, Joanna DeFranco, and Prince Pranav. 2021. Blockchain-engineers wanted: an empirical analysis on required skills, education and experience. In 2021 IEEE/ACM 4th International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB). IEEE, 49–55.
Shawal Khalid and Chris Brown. 2023. Software engineering approaches adopted by blockchain developers. In 2023 Tenth International Conference on Software Defined Systems (SDS). IEEE, 1–6.
Raj Kumar Reddy Kotha and Micheal Sony. 2023. Complexity and ambiguity for blockchain adoption in supply chain management. In Blockchain in a Volatile-Uncertain-Complex-Ambiguous World. Elsevier, 29–41.
Mary C Lacity. 2018. Addressing key challenges to making enterprise blockchain applications a reality. MIS Quarterly Executive 17, 3 (2018), 201–222.
Xiaoyun Li, Zibin Zheng, and Hong-Ning Dai. 2021. When services computing meets blockchain: Challenges and opportunities. J. Parallel and Distrib. Comput. 150 (2021), 1–14.
Lodovica Marchesi, Michele Marchesi, Giuseppe Destefanis, Giulio Barabino, and Danilo Tigano. 2020. Design patterns for gas optimization in ethereum. In 2020 IEEE International Workshop on Blockchain Oriented Software Engineering (IWBOSE). IEEE, 9–15.
Lodovica Marchesi, Michele Marchesi, and Roberto Tonelli. 2020. ABCDE—Agile block chain DApp engineering. Blockchain: Research and Applications 1, 1-2 (2020), 100002.
Anders Nylund et al. 2020. A multivocal literature reviewon developer experience. (2020).
Jeffery Oke-Samuel. 2024. How to Boost Efficiency and Productivity as a Blockchain Engineer. [link].
Md Mehedi Hassan Onik and Mahdi H Miraz. 2019. Performance analytical comparison of blockchain-as-a-service (baas) platforms. In International Conference for Emerging Technologies in Computing. Springer, 3–18.
Reza M Parizi, Amritraj, and Ali Dehghantanha. 2018. Smart contract programming languages on blockchains: An empirical evaluation of usability and security. In Blockchain–ICBC 2018: First International Conference, Held as Part of the Services Conference Federation. Springer, 75–91.
Simone Porru, Andrea Pinna, Michele Marchesi, and Roberto Tonelli. 2017. Blockchain-oriented software engineering: challenges and new directions. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). IEEE, 169–171.
Siraj Raval. 2016. Decentralized applications: harnessing Bitcoin’s blockchain technology. " O’Reilly Media, Inc.".
Ali Raza. 2024. Why You Should Learn Web 2.0 Before Getting into Web 3.0. [link].
Alan Rodrigues, Allysson Allex Araújo, Matheus Paixao, and Pamella Soares. 2022. Aspectos Colaborativos no Desenvolvimento de Contratos Inteligentes da Plataforma Ethereum: Um Estudo Exploratório-descritivo Preliminar. In VII Workshop sobre Aspectos Sociais, Humanos e Econômicos de Software. SBC, 56–60.
Vincenzo Sagristano. 2023. Smart Contract Developer Experience Enhancement. Ph.D. Dissertation. Politecnico di Torino.
Nicolás Sánchez-Gómez, Jesus Torres-Valderrama, Julián Alberto García-García, Javier J Gutiérrez, and MJ Escalona. 2020. Model-based software design and testing in blockchain smart contracts: A systematic literature review. IEEE Access 8 (2020), 164556–164569.
Tanusree Sharma, Zhixuan Zhou, Andrew Miller, and Yang Wang. 2023. A {Mixed-Methods} study of security practices of smart contract developers. In 32nd USENIX Security Symposium (USENIX Security 23). 2545–2562.
Nicolas Six, Nicolas Herbaut, and Camille Salinesi. 2022. Blockchain software patterns for the design of decentralized applications: A systematic literature review. Blockchain: Research and Applications 3, 2 (2022), 100061.
Jie Song, Pengyi Zhang, Mohammed Alkubati, Yubin Bao, and Ge Yu. 2022. Research advances on blockchain-as-a-service: Architectures, applications and challenges. Digital Communications and Networks 8, 4 (2022), 466–475.
Mario Song. 2020. FOSS Governance and Blockchain Networks.
Startuptalky. 2023. Startup Failure and Success Rates: 2023 Research. [link].
Teal. 2024. Blockchain Developer Work-Life Balance. [link].
TokenMinds. 2024. Token distribution ultimate guide - Maximizing your crypto project’s success in 2024.
Upsilon. 2024. Startups’ success and failure rate in 2024. [link].
Anna Vacca, Andrea Di Sorbo, Corrado A Visaggio, and Gerardo Canfora. 2021. A systematic literature review of blockchain and smart contract development: Techniques, tools, and open challenges. Journal of Systems and Software 174 (2021), 110891.
Rijnard van Tonder. 2024. Verifying and Displaying Move Smart Contract Source Code for the Sui Blockchain. In Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings. 26–29.
Ammar Voloder and Monika di Angelo. 2023. Comparison of Smart Contract Platforms from the Perspective of Developers. In International Conference on Blockchain. Springer, 104–118.
Karl Wüst and Arthur Gervais. 2018. Do you need a blockchain?. In 2018 crypto valley conference on blockchain technology (CVCBT). IEEE, 45–54.
Jaka Zavratnik. 2022. Analysis of web3 solution development principles. Master’s thesis. Universitat Politècnica de Catalunya.
Zibin Zheng, Jianzhong Su, Jiachi Chen, David Lo, Zhijie Zhong, and Mingxi Ye. 2024. Dappscan: building large-scale datasets for smart contract weaknesses in dapp projects. IEEE Transactions on Software Engineering (2024).
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 transactions on software engineering 47, 10 (2019), 2084–2106.
Publicado
30/09/2024
Como Citar
SOARES, Pamella; ARAÚJO, Allysson Allex; SARAIVA, Raphael; SOUZA, Jerffeson.
Towards Blockchain Developer Experience (BcDEx): Exploring Dimensions of Developer Experience in Blockchain-oriented Software Engineering. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 38. , 2024, Curitiba/PR.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 616-622.
DOI: https://doi.org/10.5753/sbes.2024.3575.