Augusto Sampaio visiting our group
We are happy that Augusto Sampaio was visiting us today. He was presenting his work about Safe evolution of smart contracts supported by LLMs and SMT Solvers followed by some inspiring discussions about verification of Smart Contracts.
Title: Safe evolution of smart contracts supported by LLMs and SMT Solvers
Abstract. The focus of this talk is a framework that supports the safe deployment and upgrade of smart contracts based on the design-by-contract (dbc) paradigm. The input is (i) an interface specification with invariants and pre- and postconditions for each function, and (ii) an implementation to be verified. The first deployed version of a smart contract must conform to this specification. Specification evolution might involve both changing the data representation as well as extending the interface with new functions, provided the evolved specification is a refinement of the original one. A distinguishing feature of the overall approach is the automation of the verification process in a hidden formal methods style. Since developers tend to be reluctant to provide formal specifications for software components, we are investigating state-of-the-art NL processing technologies, using Large Language Models (LLMs), particularly, ChatGPT, to automatically infer formal (dbc) interface specifications from textual requirements. Also, when an upgrade involves change of data representation, we use the Alloy Analyser to automatically infer the relation between the two data representations. The applicability of the framework is evaluated in the context of Solidity smart contracts that implement some Ethereum standards. This project is a collaboration between Universidade Federal de Pernambuco (Brazil), The University College Oxford Blockchain Research Centre, and The Blockhouse Technology Limited.