Demystifying Loops in Smart Contracts

This paper aims to shed light on how loops are used in smart contracts. Towards this goal, we study various syntactic and semantic characteristics of loops used in over 20,000 Solidity contracts deployed on the Ethereum blockchain, with the goal of informing future research on program analysis for s...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE) S. 262 - 274
Hauptverfasser: Mariano, Benjamin, Chen, Yanju, Feng, Yu, Lahiri, Shuvendu K., Dillig, Isil
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: ACM 01.09.2020
Schlagworte:
ISSN:2643-1572
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract This paper aims to shed light on how loops are used in smart contracts. Towards this goal, we study various syntactic and semantic characteristics of loops used in over 20,000 Solidity contracts deployed on the Ethereum blockchain, with the goal of informing future research on program analysis for smart contracts. Based on our findings, we propose a small domain-specific language (DSL) that can be used to summarize common looping patterns in Solidity. To evaluate what percentage of smart contract loops can be expressed in our proposed DSL, we also design and implement a program synthesis toolchain called Solis that can synthesize loop summaries in our DSL. Our evaluation shows that at least 56% of the analyzed loops can be summarized in our DSL, and 81% of these summaries are exactly equivalent to the original loop.
AbstractList This paper aims to shed light on how loops are used in smart contracts. Towards this goal, we study various syntactic and semantic characteristics of loops used in over 20,000 Solidity contracts deployed on the Ethereum blockchain, with the goal of informing future research on program analysis for smart contracts. Based on our findings, we propose a small domain-specific language (DSL) that can be used to summarize common looping patterns in Solidity. To evaluate what percentage of smart contract loops can be expressed in our proposed DSL, we also design and implement a program synthesis toolchain called Solis that can synthesize loop summaries in our DSL. Our evaluation shows that at least 56% of the analyzed loops can be summarized in our DSL, and 81% of these summaries are exactly equivalent to the original loop.
Author Feng, Yu
Dillig, Isil
Chen, Yanju
Lahiri, Shuvendu K.
Mariano, Benjamin
Author_xml – sequence: 1
  givenname: Benjamin
  surname: Mariano
  fullname: Mariano, Benjamin
  email: bmariano@cs.utexas.edu
  organization: University of Texas at Austin
– sequence: 2
  givenname: Yanju
  surname: Chen
  fullname: Chen, Yanju
  email: yanju@cs.ucsb.edu
  organization: University of California,Santa,Barbara
– sequence: 3
  givenname: Yu
  surname: Feng
  fullname: Feng, Yu
  email: yufeng@cs.ucsb.edu
  organization: University of California,Santa,Barbara
– sequence: 4
  givenname: Shuvendu K.
  surname: Lahiri
  fullname: Lahiri, Shuvendu K.
  email: shuvendu.lahiri@mircrosoft.com
  organization: Microsoft Research
– sequence: 5
  givenname: Isil
  surname: Dillig
  fullname: Dillig, Isil
  email: isil@cs.utexas.edu
  organization: University of Texas at Austin
BookMark eNotjjtPwzAUhQ0CibZ0ZmDJwpjW9vXjZkShPKRIHYC5uq4dZESdKvaSf08kmI6OvqNPZ8mu0pACY3eCb4RQegsgFaLagBLGSHPB1o3FGXAw1qC6ZAtpFNRCW3nDljl_c67nYhfs4SmcplxiP8X0VXXDcM5VTNX7icZStUMqIx1LvmXXPf3ksP7PFft83n20r3W3f3lrH7uaJGKpHXptHZEw0DdEOngE4l5Z7mQIQXMCedTIFRpyilB6ECJ40OSECyRhxe7_vHGeH85jnG9Mh0ai4RzhF3ciQUg
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/3324884.3416626
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781450367684
1450367682
EISSN 2643-1572
EndPage 274
ExternalDocumentID 9286008
Genre orig-research
GrantInformation_xml – fundername: NSF
  grantid: 1908494,1811865,1762299
  funderid: 10.13039/100000001
GroupedDBID 29I
6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a288t-b8d57baa163f9aa5ed83a0d470b2eee50a32c580486ab4a82d311ed35ab1bea23
IEDL.DBID RIE
ISICitedReferencesCount 22
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000651313500024&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:33:27 EDT 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a288t-b8d57baa163f9aa5ed83a0d470b2eee50a32c580486ab4a82d311ed35ab1bea23
OpenAccessLink https://dl.acm.org/doi/pdf/10.1145/3324884.3416626
PageCount 13
ParticipantIDs ieee_primary_9286008
PublicationCentury 2000
PublicationDate 2020-Sept.
PublicationDateYYYYMMDD 2020-09-01
PublicationDate_xml – month: 09
  year: 2020
  text: 2020-Sept.
PublicationDecade 2020
PublicationTitle 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
PublicationTitleAbbrev ASE
PublicationYear 2020
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0051577
ssj0002871035
Score 2.307203
Snippet This paper aims to shed light on how loops are used in smart contracts. Towards this goal, we study various syntactic and semantic characteristics of loops...
SourceID ieee
SourceType Publisher
StartPage 262
SubjectTerms Blockchain
Domain specific languages
DSL
loop summarization
program synthesis
Semantics
Smart contracts
Software engineering
Syntactics
Title Demystifying Loops in Smart Contracts
URI https://ieeexplore.ieee.org/document/9286008
WOSCitedRecordID wos000651313500024&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELZKxcBUoEW85QE23MaPxPYMVAxVVYmHulV2fJE6NKn6kvj32G4IDCxslief7fOd7-77DqE7raFIE2MJ5zonwgpHbGEY0cyGrJulPPIWfIzkeKymUz1poYcGCwMAsfgM-mEYc_muyrchVDbQTGUR2XsgpdxjtZp4SvD8E964vt5MS1lT-VCRDrh3HJQSff9oZ1lgUvjVSyWakmHnf4s4Rr0fTB6eNNbmBLWgPEWd76YMuNbRLrp_gsWn19uIX8Kjqlqu8bzErwt_R3DgogqwqHUPvQ-f3x5fSN0LgRim1IZY5VJpjfHuU6GNScEpbhInZGKZX6Lfbs7yVAUCPWOFUcxxSsHx1FhqwTB-htplVcI5wjkVlqvCaWeESCBTtOCZLbi31lQDdReoG6SeLfd0F7Na4Mu_p6_QEQtf0Fh2dY3am9UWbtBhvtvM16vbeEZfOu2RFA
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED5VBQmmAi3iTQbYSBu_EnsGqiJCVYmCulV27EgdmlR9IPHvsd0QGFjYLE8-2-c73933HcCNECZnkVQhISILqaI6VLnEocDKZd0UIp634D1NhkM-mYhRA-5qLIwxxhefma4b-ly-LrONC5X1BOaxR_buMEox2qK16oiK8_0jUju_1lAnSUXmgyjrEes6cE679tmOY8el8Kubijcm_db_lnEAnR9UXjCq7c0hNExxBK3vtgxBpaVtuH0w80-ruR7BFKRluVgFsyJ4ndtbEjg2KgeMWnXgrf84vh-EVTeEUGLO16HimiVKSutA5UJKZjQnMtI0iRS2S7QbTnDGuKPQk4pKjjVByGjCpELKSEyOoVmUhTmBIENUEZ5roSWlkYk5ykmscmLtNRIG6VNoO6mniy3hxbQS-Ozv6WvYG4xf0mn6NHw-h33sPqS-COsCmuvlxlzCbvaxnq2WV_68vgD7GpRb
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2020+35th+IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%28ASE%29&rft.atitle=Demystifying+Loops+in+Smart+Contracts&rft.au=Mariano%2C+Benjamin&rft.au=Chen%2C+Yanju&rft.au=Feng%2C+Yu&rft.au=Lahiri%2C+Shuvendu+K.&rft.date=2020-09-01&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=262&rft.epage=274&rft_id=info:doi/10.1145%2F3324884.3416626&rft.externalDocID=9286008