Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language

Detalhes bibliográficos
Autor(a) principal: LEITE, Gabriel Nogueira
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
dARK ID: ark:/64986/0013000019w2v
Texto Completo: https://repositorio.ufpe.br/handle/123456789/49987
https://orcid.org/0009-0007-0232-8076
Resumo: The increasing adoption of smart contracts in decentralized finance (DeFi) and in other areas has led to a growing need for robust and error-free code. This paper addresses this challenge by introducing a grammar-based approach for generating formal specifications from textual descriptions in natural language, specifically post-conditions for ERC20 functions of Solidity smart contracts. Particularly, our approach allows developers to transform natural language descriptions into formal specifications, and vice versa (bidirectional). Thus, developers can automatically derive postconditions from comments to verify conformance, or even generate textual descriptions for complex formal annotations in existing smart contracts to improve legibility.
id UFPE_2e33a9df1bbf9e08b0099875fa19ea01
oai_identifier_str oai:repositorio.ufpe.br:123456789/49987
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural LanguageBlockchainSmart contractFormal methodsNatural language processingÁreas::Ciências Exatas e da TerraThe increasing adoption of smart contracts in decentralized finance (DeFi) and in other areas has led to a growing need for robust and error-free code. This paper addresses this challenge by introducing a grammar-based approach for generating formal specifications from textual descriptions in natural language, specifically post-conditions for ERC20 functions of Solidity smart contracts. Particularly, our approach allows developers to transform natural language descriptions into formal specifications, and vice versa (bidirectional). Thus, developers can automatically derive postconditions from comments to verify conformance, or even generate textual descriptions for complex formal annotations in existing smart contracts to improve legibility.A crescente adoção de contratos inteligentes em finanças descentralizadas (DeFi) e em outras áreas levou a uma necessidade crescente de código robusto e livre de erros. Este artigo aborda esse desafio introduzindo uma abordagem baseada em gramática para gerar especificações formais a partir de descrições textuais em linguagem natural, especificamente pós-condições para funções ERC20 de contratos inteligentes escritos em Solidity. Particularmente, nossa abordagem permite que os desenvolvedores transformem descrições de linguagem natural em especificações formais e vice-versa (bidirecional). Assim, os desenvolvedores podem derivar automaticamente pós-condições de comentários para verificar a conformidade ou até mesmo gerar descrições textuais para anotações formais complexas em contratos inteligentes existentes para melhorar a legibilidade.SAMPAIO, Augusto Cezar AlvesARRUDA, Filipe Marques Chaves dehttp://lattes.cnpq.br/1746868961705080http://lattes.cnpq.br/3977760354511853http://lattes.cnpq.br/4240670677976713LEITE, Gabriel Nogueira2023-05-09T13:55:24Z2023-05-09T13:55:24Z2023-05-042023-05-08info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis33 p.application/pdfNOGUEIRA, Gabriel. Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language. 2023. Trabalho de Conclusão de Curso (Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.https://repositorio.ufpe.br/handle/123456789/49987https://orcid.org/0009-0007-0232-8076ark:/64986/0013000019w2venghttp://creativecommons.org/licenses/by-nc-sa/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2023-05-10T05:14:24Zoai:repositorio.ufpe.br:123456789/49987Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212023-05-10T05:14:24Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
title Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
spellingShingle Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
LEITE, Gabriel Nogueira
Blockchain
Smart contract
Formal methods
Natural language processing
Áreas::Ciências Exatas e da Terra
title_short Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
title_full Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
title_fullStr Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
title_full_unstemmed Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
title_sort Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
author LEITE, Gabriel Nogueira
author_facet LEITE, Gabriel Nogueira
author_role author
dc.contributor.none.fl_str_mv SAMPAIO, Augusto Cezar Alves
ARRUDA, Filipe Marques Chaves de
http://lattes.cnpq.br/1746868961705080
http://lattes.cnpq.br/3977760354511853
http://lattes.cnpq.br/4240670677976713
dc.contributor.author.fl_str_mv LEITE, Gabriel Nogueira
dc.subject.por.fl_str_mv Blockchain
Smart contract
Formal methods
Natural language processing
Áreas::Ciências Exatas e da Terra
topic Blockchain
Smart contract
Formal methods
Natural language processing
Áreas::Ciências Exatas e da Terra
description The increasing adoption of smart contracts in decentralized finance (DeFi) and in other areas has led to a growing need for robust and error-free code. This paper addresses this challenge by introducing a grammar-based approach for generating formal specifications from textual descriptions in natural language, specifically post-conditions for ERC20 functions of Solidity smart contracts. Particularly, our approach allows developers to transform natural language descriptions into formal specifications, and vice versa (bidirectional). Thus, developers can automatically derive postconditions from comments to verify conformance, or even generate textual descriptions for complex formal annotations in existing smart contracts to improve legibility.
publishDate 2023
dc.date.none.fl_str_mv 2023-05-09T13:55:24Z
2023-05-09T13:55:24Z
2023-05-04
2023-05-08
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv NOGUEIRA, Gabriel. Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language. 2023. Trabalho de Conclusão de Curso (Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
https://repositorio.ufpe.br/handle/123456789/49987
https://orcid.org/0009-0007-0232-8076
dc.identifier.dark.fl_str_mv ark:/64986/0013000019w2v
identifier_str_mv NOGUEIRA, Gabriel. Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language. 2023. Trabalho de Conclusão de Curso (Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
ark:/64986/0013000019w2v
url https://repositorio.ufpe.br/handle/123456789/49987
https://orcid.org/0009-0007-0232-8076
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by-nc-sa/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 33 p.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1846272365747503104