Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/86360
Title: Validation of Smart Contracts through Automated Tooling
Other Titles: Validação de Smart Contracts Através de Ferramentas Automatizadas
Authors: Conceição, Tomás Morgado de Carvalho 
Orientador: Barbosa, Raul André Brajczewski
Keywords: Automação; Blockchain; NEO; Smart Contracts; Teste; Automation; Blockchain; NEO; Smart Contracts; Testing
Issue Date: 1-Feb-2019
Serial title, monograph or event: Validation of Smart Contracts through Automated Tooling
Place of publication or event: Whitesmith, Lda.
Abstract: Os smart contracts são programas de computador que usam a tecnologia blockchain para permitir que os seus utilizadores troquem bens digitais sem a necessidade de um intermediário. NEO é uma recente plataforma de blockchain que oferece aos programadores a possibilidade de desenvolver smart contracts em linguagens de programação de alto nível. Devido às propriedades da blockchain, o código dos smart contracts não pode ser alterado após ser distribuido na blockchain. É portanto crucial que os programadores testem cuidadosamente os seus smart contracts antes de os usarem em ambiente de produção.Esta dissertação, o produto do estágio do seu autor na Whitesmith, apresenta as diferentes fases do desenvolvimento de uma ferramenta de testes para smart contracts de NEO.Esta ferramenta tenta colmatar a distância entre o estado da arte das ferramentas de desenvolvimento de NEO e de Ethereum, duas tecnologias de blockchain promissoras, apresentadas neste relatório. O estudo do estado da arte das ferramentas de desenvolvimento para estas tecnologias mostra que, apesar de NEO ter ferramentas de desenvolvimentos tais como o NeoCompiler Eco que assistem no desenvolvimento de smart contracts, estas não oferecem quaisquer funcionalidades de teste.Tomando partido de uma ferramenta já existente para NEO, o NeoCompiler Eco, foi desenvolvida uma ferramenta de automação de testes que permite aos seus utilizadores criar, importar, guardar e correr casos de teste e suites de teste numa rede privada de NEO, utilizando apenas um browser.Esta ferramenta, que avalia os casos de teste consoante eventos ouvidos na blockchain de NEO, é o resultado dos requisitos feitos ao estagiário pelos programadores da Blocksmith, uma startup spin-off da Whitesmith, e é agora usada por estes programadores.
Smart contracts are computer programs which use blockchain technology to allow users to exchange digital assets without the need for a middle-man. NEO is a recent blockchain platform, which presents programmers with the possibility of developing smart contracts in high-level programming languages. Due to blockchain properties, smart contract code cannot be changed after being deployed. It is then crucial for developers to thoroughly test their smart contracts before using them in a production environment. This dissertation, a product of the intern’s internship at Whitesmith, presents the different phases of the development of a testing tool for NEO smart contracts. This tool attempts to fill the gap between the state of the art of NEO and Ethereum developer tools, two promising blockchain technologies which are presented in this report. The study of the state of the art of development tools for these technologies shows that, although NEO has development tools, such as NeoCompiler Eco, which assists in the development of smart contracts, these do not offer any testing features. Taking advantage of the existing NEO tool NeoCompilerEco, a test automation tool was developed, which enables users to create, import, save and run test cases and test suites on a NEO private network, using only a browser. This tool, which assesses tests according to events listened in the NEO blockchain, is the result of the requests made to the intern by developers at Blocksmith, a spin-off startup from Whitesmith, and is now in use by these developers.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/86360
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
Show full item record

Page view(s) 50

404
checked on Apr 23, 2024

Download(s) 50

1,169
checked on Apr 23, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons