Generating Formal Specifications for Smart Contracts from Textual Descriptions in Natural Language
| Autor(a) principal: | |
|---|---|
| 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 |