[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3194113.3194119acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Towards analyzing the complexity landscape of solidity based ethereum smart contracts

Published: 27 May 2018 Publication History

Abstract

The blockchain based decentralized cryptocurrency platforms are one of the hottest topics in tech at the moment. Though most of the interest is generated by cryptocurrency related activities, it is becoming apparent that a much wider spectrum of applications can leverage the blockchain technology.
The primary concepts enabling such general use of the blockchain are the so-called smart contracts, which are special programs that run on the blockchain. One of the most popular blockchain platforms that supports smart contracts are Ethereum. As smart contracts typically handle money, ensuring their low number of faults and vulnerabilities are essential. To aid smart contract developers and help maturing the technology, we need analysis tools and studies for smart contracts.
As an initiative for this, we propose the adoption of some well-known OO metrics for Solidity smart contracts. Furthermore, we analyze more than 10,000 smart contracts with our prototype tool. The results suggest that smart contract programs are short, not overly complex and either quite well-commented or not commented at all. Moreover, smart contracts could benefit from an external library and dependency management mechanism, as more than 80% of the defined libraries in Solidity files code the same functionalities.

References

[1]
Vitalik Buterin et al. 2013. Ethereum white paper. GitHub repository (2013).
[2]
Vitalik Buterin et al. 2014. A next-generation smart contract and decentralized application platform. white paper (2014).
[3]
Shyam R Chidamber and Chris F Kemerer. 1994. A metrics suite for object oriented design. IEEE Transactions on software engineering 20, 6 (1994), 476--493.
[4]
Phil Daian. 2016. Analysis of the DAO exploit. http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/. (2016).
[5]
Chris Dannen. 2017. Solidity Programming. In Introducing Ethereum and Solidity. Springer, 69--88.
[6]
Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. 2016. Making smart contracts smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 254--269.
[7]
Thomas J McCabe. 1976. A complexity measure. IEEE Transactions on software Engineering 4 (1976), 308--320.
[8]
Satoshi Nakamoto. 2008. Bitcoin: A peer-to-peer electronic cash system. (2008).
[9]
N Szabo. 1997. Nick Szabo - the idea of smart contracts. Nick Szabo's Papers and Concise Tutorials. http://szabo.best.vwh.net/smart_contracts_idea.html (1997).

Cited By

View all
  • (2024)An overview of blockchain smart contract execution mechanismJournal of Industrial Information Integration10.1016/j.jii.2024.10067441(100674)Online publication date: Sep-2024
  • (2024)A novel approach to optimizing transaction processing rate and space requirement of blockchain via off-chain architectureInternational Journal of Information Technology10.1007/s41870-023-01685-x16:4(2379-2394)Online publication date: 6-Jan-2024
  • (2024)Ethchecker: a context-guided fuzzing for smart contractsThe Journal of Supercomputing10.1007/s11227-024-05954-980:10(13949-13975)Online publication date: 13-Mar-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WETSEB '18: Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain
May 2018
70 pages
ISBN:9781450357265
DOI:10.1145/3194113
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. blockchain
  2. complexity
  3. ethereum
  4. metrics
  5. smart contracts
  6. static analysis

Qualifiers

  • Short-paper

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)82
  • Downloads (Last 6 weeks)4
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)An overview of blockchain smart contract execution mechanismJournal of Industrial Information Integration10.1016/j.jii.2024.10067441(100674)Online publication date: Sep-2024
  • (2024)A novel approach to optimizing transaction processing rate and space requirement of blockchain via off-chain architectureInternational Journal of Information Technology10.1007/s41870-023-01685-x16:4(2379-2394)Online publication date: 6-Jan-2024
  • (2024)Ethchecker: a context-guided fuzzing for smart contractsThe Journal of Supercomputing10.1007/s11227-024-05954-980:10(13949-13975)Online publication date: 13-Mar-2024
  • (2024)Smart Contracts Vulnerability Detection Using TransformersWeb Information Systems Engineering – WISE 202410.1007/978-981-96-0576-7_12(151-165)Online publication date: 27-Nov-2024
  • (2024)An extensive multivocal literature review of blockchain technologyTransactions on Emerging Telecommunications Technologies10.1002/ett.503735:11Online publication date: 23-Oct-2024
  • (2023)GSVD: Common Vulnerability Dataset for Smart Contracts on BSC and PolygonAdvanced Information Technologies and Applications10.5121/csit.2023.130601(01-16)Online publication date: 25-Mar-2023
  • (2023)Beneficiary Contracts on a Lightweight Blockchain Architecture Using Smart Contracts: A Smart Healthcare System for Medical RecordsApplied Sciences10.3390/app1311669413:11(6694)Online publication date: 31-May-2023
  • (2023)Semantic-Enriched Code Knowledge Graph to Reveal Unknowns in Smart Contract Code ReuseACM Transactions on Software Engineering and Methodology10.1145/359720632:6(1-37)Online publication date: 30-Sep-2023
  • (2023)Unmanned Aerial Vehicles Traffic Management Solution Using Crowd-Sensing and BlockchainIEEE Transactions on Network and Service Management10.1109/TNSM.2022.320181720:1(201-215)Online publication date: Mar-2023
  • (2023)PSCVFinder: A Prompt-Tuning Based Framework for Smart Contract Vulnerability Detection2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE59848.2023.00030(556-567)Online publication date: 9-Oct-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media