Refatorações seguras de programas Dafny
Autor(a) principal: | |
---|---|
Data de Publicação: | 2021 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFS |
Texto Completo: | https://ri.ufs.br/jspui/handle/riufs/14203 |
Resumo: | Refactoring is a technique in which a program code is modified but preserving its original behaviour, while its structure is improved. Although there are tools that automates refactoring transformations, a fair amount can not ensure the preservation of the orginal behaviour, that is, they do not guarantee safety in the refactorings performed by them. This work presents a safe refactor tool that provides four types of refactorings for the Dafny language. To ensure behaviour preservation, the Dafny verifier assists on the refactoring process. This work also implements a source editor extension for VSCode that provides easy access to the four implemented refactorings. The tool is open source and can be used as foundation for a tool with more refactorings for Dafny |
id |
UFS-2_dffee252f26864ccafeb78e8462cc255 |
---|---|
oai_identifier_str |
oai:ufs.br:riufs/14203 |
network_acronym_str |
UFS-2 |
network_name_str |
Repositório Institucional da UFS |
repository_id_str |
|
spelling |
Antunes, Jonas BastosPalma, Giovanny Fernando Lucero2021-05-07T23:31:53Z2021-05-07T23:31:53Z2021-02-26Antunes, Jonas Bastos. Refatorações seguras de programas Dafny. São Cristóvão, 2021. Monografia (graduação em Ciência da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2021https://ri.ufs.br/jspui/handle/riufs/14203Refactoring is a technique in which a program code is modified but preserving its original behaviour, while its structure is improved. Although there are tools that automates refactoring transformations, a fair amount can not ensure the preservation of the orginal behaviour, that is, they do not guarantee safety in the refactorings performed by them. This work presents a safe refactor tool that provides four types of refactorings for the Dafny language. To ensure behaviour preservation, the Dafny verifier assists on the refactoring process. This work also implements a source editor extension for VSCode that provides easy access to the four implemented refactorings. The tool is open source and can be used as foundation for a tool with more refactorings for DafnyRefatoração é uma técnica no qual o código de um programa é modificado, no intuito de melhorar legibilidade e estruturação, porém o comportamento é mantido. Existem ferramentas que realizam refatorações de forma automática, porém muitas não garantem que o comportamento é mantido, ou seja, não realizam refatorações seguras. Este trabalho apresenta a implementação de uma ferramenta que disponibiliza quatro tipos de refatorações seguras para Dafny. As refatorações são seguras no sentido que preservam o comportamento do programa original. O verificador de Dafny é explorado para garantir a segurança das refatorações. Para facilitar o uso para os programadores, também é apresentado neste trabalho uma extensão que integra as refatorações com o editor de texto VSCode. O código-fonte da ferramenta é aberto e pode ser usado como base para adicionar mais refatorações ao catálogo de DafnySão Cristóvão, SEporCiência da computaçãoEnsino de ciência da computaçãoEngenharia da computaçãoEngenharia de softwareDafnyRefatoração seguraDafnySafe refactorCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAORefatorações seguras de programas Dafnyinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal de SergipeDCOMP - Departamento de Computação – Ciência da Computação – São Cristóvão - Presencialreponame:Repositório Institucional da UFSinstname:Universidade Federal de Sergipe (UFS)instacron:UFSinfo:eu-repo/semantics/openAccessLICENSElicense.txtlicense.txttext/plain; charset=utf-81475https://ri.ufs.br/jspui/bitstream/riufs/14203/1/license.txt098cbbf65c2c15e1fb2e49c5d306a44cMD51ORIGINALJonas_Bastos_Antunes.pdfJonas_Bastos_Antunes.pdfapplication/pdf1733587https://ri.ufs.br/jspui/bitstream/riufs/14203/2/Jonas_Bastos_Antunes.pdfa32bdec98dd9f5c057fcaddf88d75e6dMD52TEXTJonas_Bastos_Antunes.pdf.txtJonas_Bastos_Antunes.pdf.txtExtracted texttext/plain59926https://ri.ufs.br/jspui/bitstream/riufs/14203/3/Jonas_Bastos_Antunes.pdf.txt7325713311f21aa70838e63fb5e676dcMD53THUMBNAILJonas_Bastos_Antunes.pdf.jpgJonas_Bastos_Antunes.pdf.jpgGenerated Thumbnailimage/jpeg1298https://ri.ufs.br/jspui/bitstream/riufs/14203/4/Jonas_Bastos_Antunes.pdf.jpga80df4eb059902d4dd4fb9dbb5e92271MD54riufs/142032021-05-07 20:31:56.97oai:ufs.br:riufs/14203TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvcihlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyIHNldSB0cmFiYWxobyBubyBmb3JtYXRvIGVsZXRyw7RuaWNvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFNlcmdpcGUgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIHNldSB0cmFiYWxobyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgZGUgc2V1IHRyYWJhbGhvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIHNldSB0cmFiYWxobyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0bywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgbsOjbyBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyBkZSBuaW5ndcOpbS4KCkNhc28gbyB0cmFiYWxobyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvLgoKQSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUocykgb3UgbyhzKSBub21lKHMpIGRvKHMpIApkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRvIHRyYWJhbGhvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuIAo=Repositório InstitucionalPUBhttps://ri.ufs.br/oai/requestrepositorio@academico.ufs.bropendoar:2021-05-07T23:31:56Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS)false |
dc.title.pt_BR.fl_str_mv |
Refatorações seguras de programas Dafny |
title |
Refatorações seguras de programas Dafny |
spellingShingle |
Refatorações seguras de programas Dafny Antunes, Jonas Bastos Ciência da computação Ensino de ciência da computação Engenharia da computação Engenharia de software Dafny Refatoração segura Dafny Safe refactor CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
title_short |
Refatorações seguras de programas Dafny |
title_full |
Refatorações seguras de programas Dafny |
title_fullStr |
Refatorações seguras de programas Dafny |
title_full_unstemmed |
Refatorações seguras de programas Dafny |
title_sort |
Refatorações seguras de programas Dafny |
author |
Antunes, Jonas Bastos |
author_facet |
Antunes, Jonas Bastos |
author_role |
author |
dc.contributor.author.fl_str_mv |
Antunes, Jonas Bastos |
dc.contributor.advisor1.fl_str_mv |
Palma, Giovanny Fernando Lucero |
contributor_str_mv |
Palma, Giovanny Fernando Lucero |
dc.subject.por.fl_str_mv |
Ciência da computação Ensino de ciência da computação Engenharia da computação Engenharia de software Dafny Refatoração segura |
topic |
Ciência da computação Ensino de ciência da computação Engenharia da computação Engenharia de software Dafny Refatoração segura Dafny Safe refactor CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
dc.subject.eng.fl_str_mv |
Dafny Safe refactor |
dc.subject.cnpq.fl_str_mv |
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
description |
Refactoring is a technique in which a program code is modified but preserving its original behaviour, while its structure is improved. Although there are tools that automates refactoring transformations, a fair amount can not ensure the preservation of the orginal behaviour, that is, they do not guarantee safety in the refactorings performed by them. This work presents a safe refactor tool that provides four types of refactorings for the Dafny language. To ensure behaviour preservation, the Dafny verifier assists on the refactoring process. This work also implements a source editor extension for VSCode that provides easy access to the four implemented refactorings. The tool is open source and can be used as foundation for a tool with more refactorings for Dafny |
publishDate |
2021 |
dc.date.accessioned.fl_str_mv |
2021-05-07T23:31:53Z |
dc.date.available.fl_str_mv |
2021-05-07T23:31:53Z |
dc.date.issued.fl_str_mv |
2021-02-26 |
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.citation.fl_str_mv |
Antunes, Jonas Bastos. Refatorações seguras de programas Dafny. São Cristóvão, 2021. Monografia (graduação em Ciência da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2021 |
dc.identifier.uri.fl_str_mv |
https://ri.ufs.br/jspui/handle/riufs/14203 |
identifier_str_mv |
Antunes, Jonas Bastos. Refatorações seguras de programas Dafny. São Cristóvão, 2021. Monografia (graduação em Ciência da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2021 |
url |
https://ri.ufs.br/jspui/handle/riufs/14203 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.initials.fl_str_mv |
Universidade Federal de Sergipe |
dc.publisher.department.fl_str_mv |
DCOMP - Departamento de Computação – Ciência da Computação – São Cristóvão - Presencial |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFS instname:Universidade Federal de Sergipe (UFS) instacron:UFS |
instname_str |
Universidade Federal de Sergipe (UFS) |
instacron_str |
UFS |
institution |
UFS |
reponame_str |
Repositório Institucional da UFS |
collection |
Repositório Institucional da UFS |
bitstream.url.fl_str_mv |
https://ri.ufs.br/jspui/bitstream/riufs/14203/1/license.txt https://ri.ufs.br/jspui/bitstream/riufs/14203/2/Jonas_Bastos_Antunes.pdf https://ri.ufs.br/jspui/bitstream/riufs/14203/3/Jonas_Bastos_Antunes.pdf.txt https://ri.ufs.br/jspui/bitstream/riufs/14203/4/Jonas_Bastos_Antunes.pdf.jpg |
bitstream.checksum.fl_str_mv |
098cbbf65c2c15e1fb2e49c5d306a44c a32bdec98dd9f5c057fcaddf88d75e6d 7325713311f21aa70838e63fb5e676dc a80df4eb059902d4dd4fb9dbb5e92271 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS) |
repository.mail.fl_str_mv |
repositorio@academico.ufs.br |
_version_ |
1802110831295463424 |