{"id":"https://openalex.org/W4307887068","doi":"https://doi.org/10.1145/3563328","title":"A study of inline assembly in solidity smart contracts","display_name":"A study of inline assembly in solidity smart contracts","publication_year":2022,"publication_date":"2022-10-31","ids":{"openalex":"https://openalex.org/W4307887068","doi":"https://doi.org/10.1145/3563328"},"language":"en","primary_location":{"id":"doi:10.1145/3563328","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563328","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563328","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3563328","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5028030636","display_name":"Stefanos Chaliasos","orcid":"https://orcid.org/0000-0001-5414-4120"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Stefanos Chaliasos","raw_affiliation_strings":["Imperial College London, UK"],"raw_orcid":"https://orcid.org/0000-0001-5414-4120","affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063253761","display_name":"Arthur Gervais","orcid":"https://orcid.org/0000-0002-3565-3410"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Arthur Gervais","raw_affiliation_strings":["Imperial College London, UK"],"raw_orcid":"https://orcid.org/0000-0002-3565-3410","affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5068390911","display_name":"Benjamin Livshits","orcid":"https://orcid.org/0000-0002-4921-8452"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Benjamin Livshits","raw_affiliation_strings":["Imperial College London, UK"],"raw_orcid":"https://orcid.org/0000-0002-4921-8452","affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.081,"has_fulltext":true,"cited_by_count":17,"citation_normalized_percentile":{"value":0.88961296,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"6","issue":"OOPSLA2","first_page":"1123","last_page":"1149"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/solidity","display_name":"Solidity","score":0.9954438209533691},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7375788688659668},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6978374123573303},{"id":"https://openalex.org/keywords/assembly-language","display_name":"Assembly language","score":0.6194056272506714},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4840649664402008},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.4834666848182678},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2296072542667389},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.165277898311615}],"concepts":[{"id":"https://openalex.org/C2778362873","wikidata":"https://www.wikidata.org/wiki/Q24909565","display_name":"Solidity","level":2,"score":0.9954438209533691},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7375788688659668},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6978374123573303},{"id":"https://openalex.org/C50831359","wikidata":"https://www.wikidata.org/wiki/Q165436","display_name":"Assembly language","level":3,"score":0.6194056272506714},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4840649664402008},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.4834666848182678},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2296072542667389},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.165277898311615},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3563328","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563328","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563328","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:eprints.ucl.ac.uk.OAI2:10182353","is_oa":false,"landing_page_url":"https://discovery.ucl.ac.uk/id/eprint/10182353/","pdf_url":null,"source":{"id":"https://openalex.org/S4306400024","display_name":"UCL Discovery (University College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45129253","host_organization_name":"University College London","host_organization_lineage":["https://openalex.org/I45129253"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"   Proceedings of the ACM on Programming Languages , 6  (OOPSLA2)    , Article 165. (2022)      ","raw_type":"Article"}],"best_oa_location":{"id":"doi:10.1145/3563328","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563328","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563328","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.44999998807907104,"display_name":"Partnerships for the goals","id":"https://metadata.un.org/sdg/17"}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4307887068.pdf","grobid_xml":"https://content.openalex.org/works/W4307887068.grobid-xml"},"referenced_works_count":31,"referenced_works":["https://openalex.org/W1777693579","https://openalex.org/W1969344535","https://openalex.org/W1999753800","https://openalex.org/W2018951244","https://openalex.org/W2055931054","https://openalex.org/W2090924529","https://openalex.org/W2158864412","https://openalex.org/W2532041240","https://openalex.org/W2598801365","https://openalex.org/W2792743585","https://openalex.org/W2805052744","https://openalex.org/W2805827286","https://openalex.org/W2898569715","https://openalex.org/W2907767077","https://openalex.org/W2945774275","https://openalex.org/W2950294262","https://openalex.org/W2967701984","https://openalex.org/W2970809537","https://openalex.org/W2975871742","https://openalex.org/W2982275082","https://openalex.org/W2999586930","https://openalex.org/W3034136313","https://openalex.org/W3047895653","https://openalex.org/W3098149161","https://openalex.org/W3105187050","https://openalex.org/W3151748982","https://openalex.org/W3163455913","https://openalex.org/W3205605633","https://openalex.org/W3206569975","https://openalex.org/W6941255689","https://openalex.org/W6969102353"],"related_works":["https://openalex.org/W4379933579","https://openalex.org/W4381746828","https://openalex.org/W4383473368","https://openalex.org/W4252501555","https://openalex.org/W2003848320","https://openalex.org/W4242997962","https://openalex.org/W2372502659","https://openalex.org/W3210473250","https://openalex.org/W2097770333","https://openalex.org/W4307887068"],"abstract_inverted_index":{"The":[0],"Solidity":[1,45,70,130,220,241,265,269,293],"programming":[2],"language":[3,9,71],"is":[4,139,297],"the":[5,23,47,55,69,104,113,119,129,147,165,176,184,194,254,264,268],"most":[6],"widely":[7],"used":[8,140,261],"for":[10,26,36,65,152,212,288],"smart":[11,15,172,186,221],"contract":[12],"development.":[13],"Improving":[14],"contracts\u2019":[16],"correctness,":[17],"security,":[18,149],"and":[19,33,74,95,150,192,237,271,286],"performance":[20],"has":[21,199],"been":[22],"driving":[24,279],"force":[25],"research":[27,276],"in":[28,52,54,141,144,155,170,219,243,292],"vulnerability":[29],"detection,":[30],"program":[31],"analysis,":[32],"compiler":[34],"techniques":[35,287],"Solidity.":[37,156],"Similar":[38],"to":[39,110,227,250,262,272,282,301],"system-level":[40],"languages":[41],"such":[42],"as":[43,100,102],"C,":[44],"enables":[46],"embedding":[48],"of":[49,57,121,135,164,167,183,196,216,240,247,256],"low-level":[50,66],"code":[51,123],"programs,":[53],"form":[56],"inline":[58,63,81,84,137,153,168,189,197,217,235,248,290],"assembly":[59,64,85,138,154,169,190,198,218,236,249,291],"code.":[60],"Developers":[61],"use":[62,166,195,234,302],"optimizations,":[67],"extending":[68],"through":[72,80],"libraries,":[73],"using":[75],"blockchain-specific":[76],"opcodes":[77],"only":[78],"available":[79],"assembly.":[82],"Nevertheless,":[83],"fragments":[86],"are":[87,225],"not":[88],"well":[89,101],"understood":[90],"by":[91,112,278],"an":[92],"average":[93],"developer":[94],"can":[96,107],"introduce":[97],"security":[98],"threats":[99],"affect":[103],"optimizations":[105],"that":[106,126,181,193],"be":[108,260],"applied":[109],"programs":[111,294],"compiler;":[114],"it":[115],"also":[116],"significantly":[117],"limits":[118],"effectiveness":[120],"source":[122],"static":[124],"analyzers":[125],"operate":[127],"on":[128,175],"level.":[131],"A":[132],"better":[133],"understanding":[134],"how":[136],"practice":[142],"could":[143,259],"turn":[145],"increase":[146],"performance,":[148],"support":[151],"This":[157],"paper":[158],"presents":[159],"a":[160,208],"large-scale":[161],"quantitative":[162],"study":[163,258],"6.8M":[171],"contracts":[173,187],"deployed":[174],"Ethereum":[177],"blockchain.":[178],"We":[179,205],"find":[180],"23%":[182],"analyzed":[185],"contain":[188],"code,":[191],"become":[200],"more":[201],"widespread":[202],"over":[203],"time.":[204],"further":[206],"performed":[207],"manual":[209],"qualitative":[210],"analysis":[211],"identifying":[213],"usage":[214],"patterns":[215],"contracts.":[222],"Our":[223],"findings":[224],"intended":[226],"help":[228],"practitioners":[229],"understand":[230],"when":[231,295],"they":[232],"should":[233],"guide":[238],"developers":[239],"tools":[242],"prioritizing":[244],"which":[245],"parts":[246],"implement":[251],"first.":[252],"Finally,":[253],"insights":[255],"this":[257],"enhance":[263],"language,":[266],"improve":[267],"compiler,":[270],"open":[273],"up":[274],"new":[275],"directions":[277],"future":[280],"researchers":[281],"build":[283],"appropriate":[284],"methods":[285],"replacing":[289],"there":[296],"no":[298],"real":[299],"necessity":[300],"it.":[303]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":10},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
