Understanding the motivations, challenges and needs of Blockchain software developers: a survey

The blockchain technology has potential applications in various areas such as smart-contracts, Internet of Things (IoT), land registry, supply chain management, storing medical data, and identity management. Although GitHub currently hosts more than six thousand active Blockchain software (BCS) projects, few software engineering researchers have investigated these projects and their contributors. Although the number of BCS projects is growing rapidly, the motivations, challenges, and needs of BCS developers remain a puzzle. Therefore, the primary objective of this study is to understand the motivations, challenges, and needs of BCS developers and analyze the differences between BCS and non-BCS development. On this goal, we sent an online survey to 1,604 active BCS developers identified by mining the GitHub repositories of 145 popular BCS projects. The survey received 156 responses that met our criteria for analysis. The results suggest that the majority of the BCS developers are experienced in non-BCS development and are primarily motivated by the ideology of creating a decentralized financial system. Although most of the BCS projects are Open Source Software (OSS) projects by nature, more than 93% of our respondents found BCS development somewhat different from a non-BCS development as BCS projects have higher emphasis on security and reliability than most of the non-BCS projects. Other differences include: higher costs of defects, decentralized and hostile environment, technological complexity, and difficulty in upgrading the software after release. These differences were also the primary sources of challenges to them. Software development tools that are tuned for non-BCS development are inadequate for BCS and the ecosystem needs an array of new or improved tools, such as: customized IDE for BCS development tasks, debuggers for smart-contracts, testing support, easily deployable simulators, and BCS domain specific design notations.

[1]  Yi Zhang,et al.  A formal verification tool for Ethereum VM bytecode , 2018, ESEC/SIGSOFT FSE.

[2]  J. Meece,et al.  Gender and motivation , 2006 .

[3]  G. Giudici,et al.  Why Do Businesses Go Crypto? An Empirical Analysis of Initial Coin Offerings , 2018, Journal of Economics and Business.

[4]  Neil Gandal,et al.  Can We Predict the Winner in a Market with Network Effects? Competition in Cryptocurrency Market , 2016, Games.

[5]  Maureen McKelvey,et al.  Who is not developing open source software? non-users, users, and developers , 2005 .

[6]  Soohyung Kim,et al.  Managing IoT devices using blockchain platform , 2017, 2017 19th International Conference on Advanced Communication Technology (ICACT).

[7]  David Lee Kuo Chuen Handbook of Digital Currency: Bitcoin, Innovation, Financial Instruments, and Big Data , 2015 .

[8]  Edward L. Deci,et al.  Intrinsic Motivation and Self-Determination in Human Behavior , 1975, Perspectives in Social Psychology.

[9]  Terry S. Overton,et al.  Estimating Nonresponse Bias in Mail Surveys , 1977 .

[10]  Gustavus J. Simmons,et al.  Symmetric and Asymmetric Encryption , 1979, CSUR.

[11]  Adam Hayes,et al.  Cryptocurrency Value Formation: An Empirical Analysis Leading to a Cost of Production Model for Valuing Bitcoin , 2016, MCIS.

[12]  Alexander Hars,et al.  Working for free? Motivations of participating in open source projects , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[13]  Jeffrey C. Carver,et al.  Peer impressions in open source organizations: A survey , 2014, J. Syst. Softw..

[14]  Prateek Saxena,et al.  Making Smart Contracts Smarter , 2016, IACR Cryptol. ePrint Arch..

[15]  Gareth W. Peters,et al.  Understanding Modern Banking Ledgers Through Blockchain Technologies: Future of Transaction Processing and Smart Contracts on the Internet of Money , 2015, ArXiv.

[16]  Alex 'Sandy' Pentland,et al.  An Experimental Study of Cryptocurrency Market Dynamics , 2018, CHI.

[17]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[18]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[19]  Andrew Lippman,et al.  MedRec: Using Blockchain for Medical Data Access and Permission Management , 2016, 2016 2nd International Conference on Open and Big Data (OBD).

[20]  James A. Rosenthal,et al.  Qualitative Descriptors of Strength of Association and Effect Size , 1996 .

[21]  Kaiwen Zhang,et al.  VIBES: fast blockchain simulations for large-scale peer-to-peer networks: demo , 2017, Middleware Posters and Demos.

[22]  Nathaniel Schenker,et al.  Combining Estimates from Complementary Surveys: A Case Study Using Prevalence Estimates from National Health Surveys of Households and Nursing Homes , 2002, Public health reports.

[23]  Prateek Saxena,et al.  Finding The Greedy, Prodigal, and Suicidal Contracts at Scale , 2018, ACSAC.

[24]  Jeffrey C. Carver,et al.  Understanding the Impressions, Motivations, and Barriers of One Time Code Contributors to FLOSS Projects: A Survey , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).

[25]  Yi Zhang,et al.  KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine , 2018, 2018 IEEE 31st Computer Security Foundations Symposium (CSF).

[26]  Sandra Slaughter,et al.  Understanding the Motivations, Participation, and Performance of Open Source Software Developers: A Longitudinal Study of the Apache Projects , 2006, Manag. Sci..

[27]  Bill Tomlinson,et al.  Who are the crowdworkers?: shifting demographics in mechanical turk , 2010, CHI Extended Abstracts.

[28]  Mark Coeckelbergh,et al.  The Blockchain as a Narrative Technology: Investigating the Social Ontology and Normative Configurations of Cryptocurrencies , 2016, Philosophy & Technology.

[29]  R. Morrell,et al.  Baba : men and fatherhood in South Africa , 2006 .

[30]  Michael R. Elliott,et al.  Obtaining cancer risk factor prevalence estimates in small areas: combining data from two surveys , 2005 .

[31]  Jennifer Seberry,et al.  Public Key Cryptography , 2000, Lecture Notes in Computer Science.

[32]  Andrea Pinna,et al.  Blockchain-Oriented Software Engineering: Challenges and New Directions , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[33]  Jeffrey C. Carver,et al.  Process Aspects and Social Dynamics of Contemporary Code Review: Insights from Open Source Development and Industrial Practice at Microsoft , 2017, IEEE Transactions on Software Engineering.

[34]  Y. Benjamini,et al.  Controlling the false discovery rate: a practical and powerful approach to multiple testing , 1995 .

[35]  Ye Liu,et al.  ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection , 2018, 2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[36]  Stephen E. Humphrey,et al.  Integrating motivational, social, and contextual work design features: a meta-analytic summary and theoretical extension of the work design literature. , 2007, The Journal of applied psychology.

[37]  Guido Hertel,et al.  Motivation of software developers in Open Source projects: an Internet-based survey of contributors to the Linux kernel , 2003 .

[38]  Jega Anish Dev Bitcoin mining acceleration and performance quantification , 2014, 2014 IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE).

[39]  Katherine J. Stewart,et al.  The Impact of Ideology on Effectiveness in Open Source Software Development Teams , 2006, MIS Q..

[40]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[41]  Michael W. Godfrey,et al.  Code Review Quality: How Developers See It , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[42]  Teresa M. Amabile,et al.  Reality, intrinsic motivation, and creativity. , 1998 .

[43]  R. Rosenthal Parametric measures of effect size. , 1994 .

[44]  Kouichi Kishida,et al.  Toward an understanding of the motivation of open source software developers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[45]  M. Iansiti,et al.  The Truth about Blockchain , 2017 .

[46]  Sebastian Spaeth,et al.  Carrots and Rainbows: Motivation and Social Practice in Open Source Software Development , 2012, MIS Q..

[47]  David Lo,et al.  Bug Characteristics in Blockchain Systems: A Large-Scale Empirical Study , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[48]  Sarah Underwood,et al.  Blockchain beyond bitcoin , 2016, Commun. ACM.

[49]  Tomi Dahlberg,et al.  Digital Supply Chain Transformation toward Blockchain Integration , 2017, HICSS.

[50]  Zibin Zheng,et al.  An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends , 2017, 2017 IEEE International Congress on Big Data (BigData Congress).

[51]  Stuart W. Shulman,et al.  Rigor and flexibility in computer-based qualitative research: Introducing the Coding Analysis Toolkit , 2008 .

[52]  Chen Chen,et al.  Using Virtualization for Blockchain Testing , 2017, SmartCom.

[53]  J. West,et al.  Challenges of Open Innovation: The Paradox of Firm Investment in Open-Source Software , 2006 .

[54]  P. Ackerman,et al.  Age, ability, and the role of prior knowledge on the acquisition of new domain knowledge: promising results in a real-world learning environment. , 2005, Psychology and aging.

[55]  A. Juels,et al.  PROOFS OF WORK AND BREAD PUDDING PROTOCOLS (EXTENDED ABSTRACT) , 1999 .

[56]  Christopher D. Clack,et al.  Smart Contract Templates: foundations, design landscape and research directions , 2016, ArXiv.

[57]  R. Eisenberger,et al.  Detrimental effects of reward. Reality or myth? , 1996, The American psychologist.

[58]  Anindya Iqbal,et al.  Understanding the software development practices of blockchain projects: a survey , 2018, ESEM.

[59]  Primavera De Filippi,et al.  The Invisible Politics of Bitcoin: Governance Crisis of a Decentralized Infrastructure , 2016 .

[60]  Arvind Narayanan,et al.  Bitcoin and Cryptocurrency Technologies - A Comprehensive Introduction , 2016 .

[61]  Jeffrey C. Carver,et al.  Impact of developer reputation on code review outcomes in OSS projects: an empirical investigation , 2014, ESEM '14.

[62]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[63]  Gary McGraw,et al.  Static Analysis for Security , 2004, IEEE Secur. Priv..

[64]  Sharon L. Lohr,et al.  Inference from Dual Frame Surveys , 2000 .

[65]  Richard M. Stallman Free software foundation (FSF) , 2003 .

[66]  Markus Jakobsson,et al.  Proofs of Work and Bread Pudding Protocols , 1999, Communications and Multimedia Security.

[67]  Elaine Shi,et al.  Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab , 2016, Financial Cryptography Workshops.

[68]  Gary McGraw,et al.  Software Penetration Testing , 2005, IEEE Secur. Priv..

[69]  David Yermack,et al.  Initial Coin Offerings: Financing Growth with Cryptocurrency Token Sales , 2019, The Review of Financial Studies.

[70]  David P. Centers,et al.  Blockchain and Its Coming Impact on Financial Services , 2016 .

[71]  Arto Salomaa,et al.  Public-Key Cryptography , 1991, EATCS Monographs on Theoretical Computer Science.

[72]  Nathaniel Schenker,et al.  Combining Information From Two Surveys to Estimate County-Level Prevalence Rates of Cancer Risk Factors and Screening , 2007 .

[73]  Adam S. Hayes,et al.  Cryptocurrency Value Formation: An Empirical Analysis Leading to a Cost of Production Model for Valuing Bitcoin , 2016, MCIS.

[74]  Paul A. David,et al.  Community-Based Production of Open Source Software: What Do We Know about the Developers Who Participate? , 2008 .

[75]  Taro Yamane Statistics: An Introductory Analysis , 1965 .

[76]  Neil Gandal,et al.  Competition in the Cryptocurrency Market , 2014, SSRN Electronic Journal.

[77]  Ž. Balážová,et al.  The Impact of Age, Education and Seniority on Motivation of Employees , 2015 .

[78]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[79]  Zibin Zheng,et al.  Blockchain challenges and opportunities: a survey , 2018, Int. J. Web Grid Serv..

[80]  Melanie Swan,et al.  Blockchain: Blueprint for a New Economy , 2015 .

[81]  Robert M. Hierons,et al.  Smart contracts vulnerabilities: a call for blockchain software engineering? , 2018, 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE).

[82]  Michael P. McDonald The True Electorate A Cross-Validation of Voter Registration Files and Election Survey Demographics , 2007 .

[83]  Karim R. Lakhani,et al.  Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects , 2003 .

[84]  Emerson R. Murphy-Hill,et al.  Cowboys, ankle sprains, and keepers of quality: how is video game development different from software development? , 2014, ICSE.

[85]  Jacob Cohen A Coefficient of Agreement for Nominal Scales , 1960 .

[86]  Alan D. Lopez,et al.  Comparative analyses of more than 50 household surveys on health status , 2002 .