This paper presents DeCon, a declarative programming language for implementing smart contracts and specifying contract-level properties. Driven by the observation that smart contract operations and contract-level properties can be naturally expressed as relational constraints, DeCon models each smart contract as a set of relational tables that store transaction records. This relational representation of smart contracts enables convenient specification of contract properties, facilitates run-time monitoring of potential property violations, and brings clarity to contract debugging via data provenance. Specifically, a DeCon program consists of a set of declarative rules and violation query rules over the relational representation, describing the smart contract implementation and contract-level properties, respectively. We have developed a tool that can compile DeCon programs into executable Solidity programs, with instrumentation for run-time property monitoring. Our case studies demonstrate that DeCon can implement realistic smart contracts such as ERC20 and ERC721 digital tokens. Our evaluation results reveal the marginal overhead of DeCon compared to the open-source reference implementation, incurring 14% median gas overhead for execution, and another 16% median gas overhead for run-time verification.
Mon 14 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
16:00 - 17:30 | Program Analysis IResearch Papers / Industry Paper at SRC LT 50 Chair(s): Marcel Böhme MPI-SP, Germany and Monash University, Australia | ||
16:00 15mTalk | Input Splitting for Cloud-Based Static Application Security Testing Platforms Industry Paper Maria Christakis MPI-SWS, Thomas Cottenier Amazon Web Services, Antonio Filieri AWS and Imperial College London, Linghui Luo Amazon Web Services, Muhammad Numair Mansur MPI-SWS, Lee Pike Amazon Web Services, Nico Rosner Amazon Web Services, Martin Schäf Amazon Web Services, Aritra Sengupta Amazon Web Services, Willem Visser Amazon Web Services DOI Media Attached | ||
16:15 15mTalk | Static Executes-Before Analysis for Event Driven Programs Research Papers Rekha Pai IISc Bangalore, Abhishek Uppar IISc Bangalore, Akshatha Shenoy TCS Research, Pranshul Kushwaha IISc Bangalore, Deepak D'Souza IISc Bangalore DOI | ||
16:30 15mTalk | Security Code Smells in Apps: Are We Getting Better? Research Papers Steven Arzt Fraunhofer SIT; ATHENE DOI | ||
16:45 15mTalk | Large-Scale Analysis of Non-Termination Bugs in Real-World OSS Projects Research Papers Xiuhan Shi Tianjin University, Xiaofei Xie Singapore Management University, Yi Li Nanyang Technological University, Yao Zhang Tianjin University, Sen Chen Tianjin University, Xiaohong Li Tianjin University DOI | ||
17:00 15mTalk | On-the-Fly Syntax Highlighting using Neural Networks Research Papers Marco Edoardo Palma University of Zurich, Pasquale Salza University of Zurich, Harald Gall University of Zurich DOI Pre-print | ||
17:15 15mTalk | Declarative Smart Contracts Research Papers Haoxian Chen University of Pennsylvania, Gerald Whitters University of Pennsylvania, Mohammad Javad Amiri University of Pennsylvania, Yuepeng Wang Simon Fraser University, Boon Thau Loo University of Pennsylvania DOI |