IEEE Access · 2019 · 141 citations · 12 references
ComputingComputer ScienceInformation TechnologyComputer SecurityElectronic ContractsSoftware EngineeringElectronic ContractingFinancial ContractsSmart ContractsSoftware DesignSoftware MetricsBlockchain-based ContractingPower-law DistributionsSecurity Code MetricsSoftware Evolution MetricsSource Code EvolutionSource Code MetricsSource CodesVariances
In this work, we perform a comprehensive empirical study of smart contracts deployed on the ethereum blockchain. The objective of the analysis is to provide empirical results on smart contracts features, smart contract transactions within the blockchain, the role of the development community, and the source code characteristics. We collected a set of more than 10000 smart contracts source codes and a dataset of meta-data regarding their interaction with the blockchain from etherscan.io. We examined the collected data computing different statistics on naming policies, smart contract ether balance, number of smart contract transactions, functions, and other quantities characterizing the use and purpose of smart contracts. We found that the number of transactions and the balances follow power-law distributions and the software code metrics display, on average, values lower than corresponding metrics in standard software but have high variances. Focusing the attention on the 20 smart contracts with the topmost number of transactions, we found that most of them represent financial smart contracts and some of them have peculiar software development stories behind them. The results show that blockchain software is rapidly changing and evolving and it is no longer devoted only to cryptovalues applications but to general purpose computation.
12
Thomas J. McCabe · IEEE Transactions on Software Engineering · 1976 · 5.8K citations
Ethereum: A Secure Decentralised Generalised Transaction Ledger
Gavin Wood · 2013 · 5.3K citations
Making Smart Contracts Smarter
Loi Luu, Duc-Hiep Chu, Hrishi Olickel et al. · 2016 · 2.2K citations
Blockchain-Oriented Software Engineering: Challenges and New Directions
Simone Porru, Andrea Pinna, Michele Marchesi et al. · 2017 · 331 citations
Computing, Computer Engineering, Requirements Engineering +12
Smart contracts vulnerabilities: a call for blockchain software engineering?
Giuseppe Destefanis, Michele Marchesi, Marco Ortu et al. · 2018 · 241 citations