Show simple item record

dc.contributor.authorKoutavas, Vasileios
dc.contributor.authorLin Hou, Yu
dc.contributor.editorMadeira, Alexandre and Knapp, Alexanderen
dc.date.accessioned2025-03-12T14:27:43Z
dc.date.available2025-03-12T14:27:43Z
dc.date.created4-8 November 2024en
dc.date.issued2024
dc.date.submitted2024en
dc.identifier.citationVasileios Koutavas, Yu-Yang Lin, Nikos Tzevelekos, An Operational Semantics for Yul, Lecture Notes in Computer Science, Software Engineering and Formal Methods. SEFM 2024, Aveiro, Portugal, 4-8 November 2024, Madeira, Alexandreand Knapp, Alexander, 15280, Springer Nature Switzerland, 2024, 328 - 346en
dc.identifier.otherY
dc.description.abstractWe present a big-step and small-step operational semantics for Yul — the intermediate language used by the Solidity compiler to produce EVM bytecode — in a mathematical notation that is congruous with the literature of programming languages, lends itself to language proofs, and can serve as a precise, widely accessible specification for the language. Our two semantics stay faithful to the original, informal specification of the language but also clarify under-specified cases such as void function calls. Our presentation allows us to prove the equivalence between the two semantics. We also implement the small-step semantics in an interpreter for Yul which avails of optimisations that are provably correct. We have tested the interpreter using tests from the Solidity compiler and our own. We envisage that this work will enable the development of verification and symbolic execution technology directly in Yul, contributing to the Ethereum security ecosystem, as well as aid the development of a provably sound future type system.en
dc.format.extent328en
dc.format.extent346en
dc.language.isoenen
dc.publisherSpringer Nature Switzerlanden
dc.relation.ispartofseries15280;
dc.rightsYen
dc.subjectYul, Ethereum, Operational semantics, Programming lan- guages, Formal methodsen
dc.titleAn Operational Semantics for Yulen
dc.title.alternativeLecture Notes in Computer Scienceen
dc.title.alternativeSoftware Engineering and Formal Methods. SEFM 2024en
dc.typeConference Paperen
dc.type.supercollectionscholarly_publicationsen
dc.type.supercollectionrefereed_publicationsen
dc.identifier.peoplefinderurlhttp://people.tcd.ie/vkoutav
dc.identifier.peoplefinderurlhttp://people.tcd.ie/linhouy
dc.identifier.rssinternalid276010
dc.identifier.doihttps://doi.org/10.1007/978-3-031-77382-2_19
dc.rights.ecaccessrightsrestrictedAccess
dc.date.ecembargoEndDate2025-11-26
dc.subject.TCDTagBlockchainen
dc.subject.TCDTagComputer Programming Languagesen
dc.subject.TCDTagComputer Scienceen
dc.subject.TCDTagSoftware Engineeringen
dc.identifier.orcid_id0000-0002-3970-2486
dc.status.accessibleNen
dc.rights.restrictedAccessY
dc.date.restrictedAccessEndDate2025-11-26
dc.contributor.sponsorOtheren
dc.contributor.sponsorGrantNumberFY23-1127en
dc.contributor.sponsorScience Foundation Ireland (SFI for RF)en
dc.contributor.sponsorGrantNumber13/RC/2094_2en
dc.contributor.sponsorOtheren
dc.identifier.urihttps://hdl.handle.net/2262/111298


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record