{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:10:14Z","timestamp":1750219814337,"version":"3.41.0"},"reference-count":94,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2023,9,23]],"date-time":"2023-09-23T00:00:00Z","timestamp":1695427200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"German Federal Ministry of Education and Research BMBF iBlockchain","award":["16KIS0902 BMBF"],"award-info":[{"award-number":["16KIS0902 BMBF"]}]},{"name":"German Research Foundation DFG","award":["SFB 1119 DFG"],"award-info":[{"award-number":["SFB 1119 DFG"]}]},{"name":"Hessian Ministry of Higher Education, Research, Science and the Arts"},{"name":"National Research Center for Applied Cybersecurity ATHENE"},{"name":"Hessian LOEWE initiative LOEWE"},{"name":"Swiss National Science Foundation SNSF","award":["200429 SNSF"],"award-info":[{"award-number":["200429 SNSF"]}]},{"name":"University of St. Gallen unisig","award":["1031569 unisig"],"award-info":[{"award-number":["1031569 unisig"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2023,9,30]]},"abstract":"<jats:p>Decentralized applications (dApps) consist of smart contracts that run on blockchains and clients that model collaborating parties. dApps are used to model financial and legal business functionality. Today, contracts and clients are written as separate programs\u2014in different programming languages\u2014communicating via send and receive operations. This makes distributed program flow awkward to express and reason about, increasing the potential for mismatches in the client-contract interface, which can be exploited by malicious clients, potentially leading to huge financial losses.<\/jats:p>\n          <jats:p>\n            In this article, we present\n            <jats:sans-serif>Prisma<\/jats:sans-serif>\n            , a language for tierless decentralized applications, where the contract and its clients are defined in one unit and pairs of send and receive actions that \u201cbelong together\u201d are encapsulated into a single direct-style operation, which is executed differently by sending and receiving parties. This enables expressing distributed program flow via standard control flow and renders mismatching communication impossible. We prove formally that our compiler preserves program behavior in presence of an attacker controlling the client code. We systematically compare\n            <jats:sans-serif>Prisma<\/jats:sans-serif>\n            with mainstream and advanced programming models for dApps and provide empirical evidence for its expressiveness and performance.\n          <\/jats:p>\n          <jats:p\/>","DOI":"10.1145\/3604629","type":"journal-article","created":{"date-parts":[[2023,7,18]],"date-time":"2023-07-18T12:27:24Z","timestamp":1689683244000},"page":"1-41","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Prisma : A Tierless Language for Enforcing Contract-client Protocols in Decentralized Applications"],"prefix":"10.1145","volume":"45","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8672-0265","authenticated-orcid":false,"given":"David","family":"Richter","sequence":"first","affiliation":[{"name":"Technical University of Darmstadt, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6556-6457","authenticated-orcid":false,"given":"David","family":"Kretzler","sequence":"additional","affiliation":[{"name":"Technical University of Darmstadt, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1288-1485","authenticated-orcid":false,"given":"Pascal","family":"Weisenburger","sequence":"additional","affiliation":[{"name":"University of St. Gallen, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9324-8894","authenticated-orcid":false,"given":"Guido","family":"Salvaneschi","sequence":"additional","affiliation":[{"name":"University of St. Gallen, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8625-4639","authenticated-orcid":false,"given":"Sebastian","family":"Faust","sequence":"additional","affiliation":[{"name":"Technical University of Darmstadt, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6563-7537","authenticated-orcid":false,"given":"Mira","family":"Mezini","sequence":"additional","affiliation":[{"name":"Technical University of Darmstadt, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,9,23]]},"reference":[{"key":"e_1_3_3_2_2","unstructured":"Gavin Wood. 2022. Ethereum Yellow Paper. Retrieved from https:\/\/ethereum.github.io\/yellowpaper\/paper.pdf"},{"key":"e_1_3_3_3_2","unstructured":"Simon Marlow. 2010. Haskell 2010: Language Report. Expressions. Do Expressions. Retrieved 14-11-2020 from https:\/\/www.haskell.org\/onlinereport\/haskell2010\/haskellch3.html#x8-470003.14"},{"key":"e_1_3_3_4_2","unstructured":"Evan Saulpaugh. 2018. Headlong (GitHub Repository). Retrieved from https:\/\/github.com\/esaulpaugh\/headlong"},{"key":"e_1_3_3_5_2","unstructured":"Ethereum Foundation. 2015. Solidity Documentation. Retrieved 14-11-2020 from https:\/\/docs.soliditylang.org\/en\/v0.8.1\/"},{"key":"e_1_3_3_6_2","unstructured":"Edwin Brady. 2007. The Idris Tutorial. Interfaces. Monads and do-notation. !-notation. Retrieved 14-11-2020 from http:\/\/docs.idris-lang.org\/en\/latest\/tutorial\/interfaces.html#notation"},{"key":"e_1_3_3_7_2","unstructured":"Web3 Labs. 2016. Web3j: Web3 Java Ethereum \u00d0app API (GitHub Repository). Retrieved from https:\/\/github.com\/web3j\/web3j"},{"key":"e_1_3_3_8_2","unstructured":"Scala Development Team. 2013. Scala-continuations. The scala delimited continuations plugin and library. Retrieved from https:\/\/github.com\/scala\/scala-continuations"},{"key":"e_1_3_3_9_2","unstructured":"Aleksandar Prokopec. 2015. Scala coroutines. Retrieved from https:\/\/github.com\/storm-enroute\/coroutines"},{"key":"e_1_3_3_10_2","unstructured":"Phil Daian. 2016. Analysis of the DAO exploit. Retrieved 14-11-2020 from https:\/\/hackingdistributed.com\/2016\/06\/18\/analysis-of-the-dao-exploit\/"},{"key":"e_1_3_3_11_2","unstructured":"Jon Purdy. 2017. Discussion on GHC Pre-Proposal: Add InlineBindings proposal. Retrieved 14-11-2020 from https:\/\/github.com\/ghc-proposals\/ghc-proposals\/pull\/64"},{"key":"e_1_3_3_12_2","unstructured":"Leo White. 2018. OCaml: Add \u201cmonadic\u201d let operators. Retrieved from https:\/\/github.com\/ocaml\/ocaml\/pull\/1947"},{"key":"e_1_3_3_13_2","unstructured":"PolyCrypt GmbH. 2020. Perun Network. Retrieved from https:\/\/perun.network"},{"key":"e_1_3_3_14_2","unstructured":"Ethereum Foundation. 2015. Solidity Documentation - Common Patterns. Retrieved 14-11-2020 from https:\/\/docs.soliditylang.org\/en\/v0.7.4\/common-patterns.html"},{"key":"e_1_3_3_15_2","unstructured":"State Channels contributors. 2020. State Channels. Retrieved from https:\/\/statechannels.org\/"},{"key":"e_1_3_3_16_2","unstructured":"Google Inc. 2021. Google Cloud BigQuery: Contract deployment per month. Retrieved from https:\/\/console.cloud.google.com\/bigquery"},{"key":"e_1_3_3_17_2","unstructured":"Google Inc. 2021. Google Cloud BigQuery: Contract size. Retrieved from https:\/\/console.cloud.google.com\/bigquery"},{"key":"e_1_3_3_18_2","unstructured":"Uniswap Labs. 2021. Uniswap Info. Retrieved 07-07-2021 from https:\/\/v2.info.uniswap.org\/home"},{"key":"e_1_3_3_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/1609956.1609960"},{"key":"e_1_3_3_20_2","doi-asserted-by":"publisher","DOI":"10.5555\/7929"},{"key":"e_1_3_3_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.35"},{"key":"e_1_3_3_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/DAPPCON.2019.00018"},{"key":"e_1_3_3_23_2","article-title":"Wallet contracts on Ethereum","volume":"2001","author":"Angelo Monika Di","year":"2020","unstructured":"Monika Di Angelo and Gernot Salzer. 2020. Wallet contracts on Ethereum. CoRR abs\/2001.06909 (2020).","journal-title":"CoRR"},{"key":"e_1_3_3_24_2","doi-asserted-by":"publisher","DOI":"10.5555\/129099"},{"key":"e_1_3_3_25_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-70278-0_31"},{"key":"e_1_3_3_26_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_12"},{"key":"e_1_3_3_27_2","unstructured":"Sam Blackshear Evan Cheng D. Dill Victor Gao B. Maurer T. Nowacki Alistair Pott S. Qadeer Dario Russi Stephane Sezer Tim Zakian and Run tian Zhou. 2019. Move: A language with programmable resources. https:\/\/developers.diem.com\/papers\/diem-move-a-language-with-programmable-resources\/2019-06-18.pdf"},{"key":"e_1_3_3_28_2","unstructured":"Flavio W. Brasil and Sameer Brenn. 2017. Monadless - Syntactic Sugar for Monad Composition in Scala. Retrieved from https:\/\/github.com\/monadless\/monadless"},{"key":"e_1_3_3_29_2","unstructured":"Lorenz Breidenbach Phil Daian Ari Juels and Emin G\u00fcn Sirer. 2016. An In-depth Look at the Parity Multisig Bug. Retrieved from hackingdistributed.com\/2017\/07\/22\/deep-dive-parity-bug\/"},{"key":"e_1_3_3_30_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-61467-6_6"},{"key":"e_1_3_3_31_2","unstructured":"Manuel Chakravarty Roman Kireev Kenneth MacKenzie Vanessa McHale Jann M\u00fcller Alexander Nemish Chad Nester Michael Peyton Jones Simon Thompson Rebecca Valentine and Philip Wadler. 2019. Functional Blockchain Contracts. Retrieved from https:\/\/iohk.io\/en\/research\/library\/papers\/functional-blockchain-contracts\/"},{"key":"e_1_3_3_32_2","first-page":"299","article-title":"Hydra: Fast isomorphic state channels","volume":"2020","author":"Chakravarty Manuel M. T.","year":"2020","unstructured":"Manuel M. T. Chakravarty, Sandro Coretti, Matthias Fitzi, Peter Gazi, Philipp Kant, Aggelos Kiayias, and Alexander Russell. 2020. Hydra: Fast isomorphic state channels. IACR Cryptol. ePrint Arch. 2020 (2020), 299. Retrieved from https:\/\/eprint.iacr.org\/2020\/299","journal-title":"IACR Cryptol. ePrint Arch."},{"key":"e_1_3_3_33_2","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796819000029"},{"key":"e_1_3_3_34_2","volume-title":"Symposium on Operating Systems Principles","author":"Chong Stephen","year":"2007","unstructured":"Stephen Chong, Jed Liu, Andrew C. Myers, Xin Qi, K. Vikram, Lantian Zheng, and Xin Zheng. 2007. Secure web applications via automatic partitioning. In Symposium on Operating Systems Principles."},{"key":"e_1_3_3_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-C.2017.150"},{"key":"e_1_3_3_36_2","article-title":"User-centered programming language design in the obsidian smart contract language","volume":"1912","author":"Coblenz Michael J.","year":"2019","unstructured":"Michael J. Coblenz, Gauri Kambhatla, Paulette Koronkevich, Jenna L. Wise, Celeste Barnaby, Jonathan Aldrich, Joshua Sunshine, and Brad A. Myers. 2019. User-centered programming language design in the obsidian smart contract language. CoRR abs\/1912.04719 (2019).","journal-title":"CoRR"},{"key":"e_1_3_3_37_2","article-title":"Obsidian: Typestate and assets for safer blockchain programming","volume":"1909","author":"Coblenz Michael J.","year":"2019","unstructured":"Michael J. Coblenz, Reed Oei, Tyler Etzel, Paulette Koronkevich, Miles Baker, Yannick Bloem, Brad A. Myers, Joshua Sunshine, and Jonathan Aldrich. 2019. Obsidian: Typestate and assets for safer blockchain programming. CoRR abs\/1909.03523 (2019).","journal-title":"CoRR"},{"key":"e_1_3_3_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/3341643"},{"key":"e_1_3_3_39_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-74792-5_12"},{"key":"e_1_3_3_40_2","unstructured":"Dapp.com. 2020. 2020 Q2 Dapp Market Report. Retrieved from https:\/\/www.dapp.com\/article\/q2-2020-dapp-market-report"},{"key":"e_1_3_3_41_2","article-title":"Resource-aware session types for digital contracts","volume":"1902","author":"Das Ankush","year":"2019","unstructured":"Ankush Das, S. Balzer, J. Hoffmann, and F. Pfenning. 2019. Resource-aware session types for digital contracts. ArXiv abs\/1902.06056 (2019).","journal-title":"ArXiv"},{"key":"e_1_3_3_42_2","unstructured":"Ankush Das Jan Hoffmann and Frank Pfenning. 2021. Nomos: A protocol-enforcing asset-tracking and gas-aware language for smart contracts. https:\/\/www.cs.cmu.edu\/janh\/assets\/pdf\/DasHP21.pdf"},{"key":"e_1_3_3_43_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14458-5_1"},{"key":"e_1_3_3_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380364"},{"key":"e_1_3_3_45_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-17653-2_21"},{"key":"e_1_3_3_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243856"},{"key":"e_1_3_3_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/1639950.1640058"},{"key":"e_1_3_3_48_2","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(92)90014-7"},{"key":"e_1_3_3_49_2","article-title":"SmartBugs: A framework to analyze solidity smart contracts","volume":"2007","author":"Ferreira Jo\u00e3o F.","year":"2020","unstructured":"Jo\u00e3o F. Ferreira, Pedro Cruz, Thomas Durieux, and Rui Abreu. 2020. SmartBugs: A framework to analyze solidity smart contracts. CoRR abs\/2007.04771 (2020).","journal-title":"CoRR"},{"key":"e_1_3_3_50_2","article-title":"A $50 million hack just showed that the DAO was all too human","author":"Finley Klint","year":"2016","unstructured":"Klint Finley. 2016. A $50 million hack just showed that the DAO was all too human. Wired (62016).","journal-title":"Wired"},{"key":"e_1_3_3_51_2","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155113"},{"key":"e_1_3_3_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/3290341"},{"key":"e_1_3_3_53_2","article-title":"What is an EUTxO blockchain?","volume":"2007","author":"Gabbay Murdoch James","year":"2020","unstructured":"Murdoch James Gabbay. 2020. What is an EUTxO blockchain? CoRR abs\/2007.12404 (2020).","journal-title":"CoRR"},{"key":"e_1_3_3_54_2","unstructured":"Saverio Giallorenzo Fabrizio Montesi and Marco Peressotti. 2020. Choreographies as Objects. arxiv:2005.09520"},{"key":"e_1_3_3_55_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2021.22"},{"key":"e_1_3_3_56_2","article-title":"Towards safer smart contracts: A survey of languages and verification methods","volume":"1809","author":"Harz Dominik","year":"2018","unstructured":"Dominik Harz and William J. Knottenbelt. 2018. Towards safer smart contracts: A survey of languages and verification methods. CoRR abs\/1809.09805 (2018).","journal-title":"CoRR"},{"key":"e_1_3_3_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359585"},{"key":"e_1_3_3_58_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-19056-8_4"},{"key":"e_1_3_3_59_2","article-title":"A comprehensive survey on smart contract construction and execution: Paradigms, tools and systems","volume":"2008","author":"Hu Bin","year":"2020","unstructured":"Bin Hu, Zongyang Zhang, Jianwei Liu, Yizhong Liu, Jiayuan Yin, Rongxing Lu, and Xiaodong Lin. 2020. A comprehensive survey on smart contract construction and execution: Paradigms, tools and systems. CoRR abs\/2008.13413 (2020).","journal-title":"CoRR"},{"key":"e_1_3_3_60_2","doi-asserted-by":"publisher","DOI":"10.1145\/1291151.1291179"},{"key":"e_1_3_3_61_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSF.2012.22"},{"key":"e_1_3_3_62_2","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978309"},{"key":"e_1_3_3_63_2","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062380"},{"key":"e_1_3_3_64_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-58387-6_28"},{"key":"e_1_3_3_65_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-32101-7_27"},{"key":"e_1_3_3_66_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-32101-7_30"},{"key":"e_1_3_3_67_2","unstructured":"Mix. 2019. These Are the Top 10 Programming Languages in Blockchain. Retrieved from https:\/\/thenextweb.com\/hardfork\/2019\/05\/24\/javascript-programming-java-cryptocurrency\/"},{"key":"e_1_3_3_68_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4614-7518-7_4"},{"key":"e_1_3_3_69_2","doi-asserted-by":"publisher","DOI":"10.1145\/3274694.3274743"},{"key":"e_1_3_3_70_2","article-title":"Psamathe: A DSL with flows for safe blockchain assets","volume":"2010","author":"Oei Reed","year":"2020","unstructured":"Reed Oei, Michael J. Coblenz, and Jonathan Aldrich. 2020. Psamathe: A DSL with flows for safe blockchain assets. CoRR abs\/2010.04800 (2020).","journal-title":"CoRR"},{"key":"e_1_3_3_71_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09796-5"},{"key":"e_1_3_3_72_2","doi-asserted-by":"publisher","DOI":"10.1145\/3280984"},{"key":"e_1_3_3_73_2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"33","DOI":"10.1007\/978-3-319-04132-2_3","volume-title":"International Symposium on Practical Aspects of Declarative Languages","author":"Petricek Tomas","year":"2014","unstructured":"Tomas Petricek and Don Syme. 2014. The F# computation expression zoo. In International Symposium on Practical Aspects of Declarative Languages(Lecture Notes in Computer Science, Vol. 8324). Springer, 33\u201348."},{"key":"e_1_3_3_74_2","unstructured":"Sergey Petrov. 2017. Another Parity Wallet Hack Explained. Retrieved from https:\/\/medium.com\/@Pr0Ger\/another-parity-wallet-hack-explained-847ca46a2e1c"},{"key":"e_1_3_3_75_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45699-6_8"},{"key":"e_1_3_3_76_2","doi-asserted-by":"publisher","DOI":"10.1145\/351240.351243"},{"key":"e_1_3_3_77_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-47958-3_20"},{"key":"e_1_3_3_78_2","doi-asserted-by":"publisher","DOI":"10.1145\/800194.805852"},{"key":"e_1_3_3_79_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2022.35"},{"key":"e_1_3_3_80_2","doi-asserted-by":"publisher","DOI":"10.4230\/DARTS.8.2.16"},{"key":"e_1_3_3_81_2","unstructured":"Scala Development Team. 2012. Scala-async. A Scala DSL to enable a direct style of coding when composing futures. https:\/\/github.com\/scala\/scala-async"},{"key":"e_1_3_3_82_2","doi-asserted-by":"publisher","DOI":"10.1145\/3191697.3213790"},{"key":"e_1_3_3_83_2","article-title":"Flint for safer smart contracts","volume":"1904","author":"Schrans Franklin","year":"2019","unstructured":"Franklin Schrans, Daniel Hails, Alexander Harkness, Sophia Drossopoulou, and Susan Eisenbach. 2019. Flint for safer smart contracts. CoRR abs\/1904.06534 (2019).","journal-title":"CoRR"},{"key":"e_1_3_3_84_2","article-title":"Marlowe: Implementing and analysing financial contracts on blockchain","author":"Seijas Pablo Lamela","year":"2020","unstructured":"Pablo Lamela Seijas, Alexander Nemish, David Smith, and Simon Thompson. 2020. Marlowe: Implementing and analysing financial contracts on blockchain. In Workshop on Trusted Smart Contracts @ FC 2020, Tiziana Margaria and Bernhard Steffen (Eds.) Retrieved from https:\/\/iohk.io\/en\/research\/library\/papers\/marloweimplementing-and-analysing-financial-contracts-on-blockchain\/","journal-title":"Workshop on Trusted Smart Contracts @ FC 2020"},{"key":"e_1_3_3_85_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-03427-6_27"},{"key":"e_1_3_3_86_2","doi-asserted-by":"publisher","DOI":"10.1145\/3360611"},{"key":"e_1_3_3_87_2","volume-title":"21st ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA\u201906)","author":"Serrano Manuel","year":"2006","unstructured":"Manuel Serrano, Erick Gallesio, and Florian Loitsch. 2006. Hop, a language for programming the Web 2.0. In 21st ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA\u201906). ACM, New York, NY."},{"key":"e_1_3_3_88_2","doi-asserted-by":"publisher","DOI":"10.1145\/2951913.2951916"},{"key":"e_1_3_3_89_2","unstructured":"Ruslan Shevchenko. 2020. dotty-cps-async. Retrieved from https:\/\/github.com\/rssh\/dotty-cps-async"},{"key":"e_1_3_3_90_2","article-title":"Smart contract design meets state machine synthesis: Case studies","volume":"1906","author":"Suvorov Dmitrii","year":"2019","unstructured":"Dmitrii Suvorov and Vladimir Ulyantsev. 2019. Smart contract design meets state machine synthesis: Case studies. CoRR abs\/1906.02906 (2019).","journal-title":"CoRR"},{"key":"e_1_3_3_91_2","doi-asserted-by":"publisher","DOI":"10.1145\/2364527.2364568"},{"key":"e_1_3_3_92_2","doi-asserted-by":"publisher","DOI":"10.1145\/3276499"},{"key":"e_1_3_3_93_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2020.2993470"},{"key":"e_1_3_3_94_2","unstructured":"Gavin Wood. 2014. Ethereum: A Secure Decentralised Generalised Transaction Ledger. Retrieved from https:\/\/ethereum.github.io\/yellowpaper\/paper.pdf"},{"key":"e_1_3_3_95_2","unstructured":"Bo Yang. 2016. Dsl.scala - A Framework to Create Embedded Domain-specific Languages in Scala. Retrieved from https:\/\/github.com\/ThoughtWorksInc\/Dsl.scala"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3604629","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3604629","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:46:04Z","timestamp":1750178764000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3604629"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,9,23]]},"references-count":94,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2023,9,30]]}},"alternative-id":["10.1145\/3604629"],"URL":"https:\/\/doi.org\/10.1145\/3604629","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2023,9,23]]},"assertion":[{"value":"2022-06-24","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-05-10","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-09-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}