Show simple item record

dc.contributor.authorMarmsoler, D
dc.contributor.authorBrucker, AD
dc.date.accessioned2024-11-18T13:23:16Z
dc.date.issued2024-10-15
dc.date.updated2024-11-16T18:01:31Z
dc.description.abstractSmart contracts are computer programs designed to automate legal agreements. They are usually developed in a high-level programming language, the most popular of which is Solidity. Every day, hundreds of thousands of new contracts are deployed managing millions of dollars’ worth of transactions. As for every computer program, smart contracts may contain bugs which can be exploited. However, since smart contracts are often used to automate financial transactions, such exploits may result in huge economic losses. In general, it is estimated that since 2019, more than $5B was stolen due to vulnerabilities in smart contracts. This paper addresses the issue of smart contract vulnerabilities by introducing an executable denotational semantics for Solidity within the Isabelle/HOL interactive theorem prover. This formal semantics serves as the basis for an interactive program verification environment for Solidity smart contracts. To evaluate our semantics, we integrate grammar-based fuzzing with symbolic execution to automatically test it against the Solidity reference implementation. The paper concludes by showcasing ten_GB
dc.description.sponsorshipEngineering and Physical Sciences Research Council (EPSRC)en_GB
dc.identifier.citationPublished online 15 October 2024en_GB
dc.identifier.doi10.1145/3700601
dc.identifier.grantnumberEP/X027619/1en_GB
dc.identifier.urihttp://hdl.handle.net/10871/138674
dc.identifierORCID: 0000-0002-6355-1200 (Brucker, Achim D)
dc.language.isoenen_GB
dc.publisherAssociation for Computing Machinery (ACM)en_GB
dc.rights© 2024 Copyright held by the owner/author(s). Open access.
dc.subjectSolidityen_GB
dc.subjectDenotational Semanticsen_GB
dc.subjectIsabelle/HOLen_GB
dc.subjectSoftware and its engineeringen_GB
dc.subjectFormal software verificationen_GB
dc.subjectTheory of computationen_GB
dc.subjectProgram semanticsen_GB
dc.subjectSecurity and privacyen_GB
dc.subjectLogic and verificationen_GB
dc.titleIsabelle/Solidity: A deep embedding of Solidity in Isabelle/HOLen_GB
dc.typeArticleen_GB
dc.date.available2024-11-18T13:23:16Z
dc.identifier.issn0934-5043
dc.descriptionThis is the author accepted manuscript. The final version is available on open access from ACM via the DOI in this recorden_GB
dc.identifier.journalFormal Aspects of Computingen_GB
dc.rights.urihttp://www.rioxx.net/licenses/all-rights-reserveden_GB
dcterms.dateAccepted2024-09-24
dcterms.dateSubmitted2023-12-18
rioxxterms.versionAMen_GB
rioxxterms.licenseref.startdate2024-10-02
rioxxterms.typeJournal Article/Reviewen_GB
refterms.dateFCD2024-11-16T18:01:33Z
refterms.versionFCDAM
refterms.dateFOA2024-11-21T14:00:43Z
refterms.panelBen_GB
exeter.rights-retention-statementOpt out


Files in this item

This item appears in the following Collection(s)

Show simple item record