Refatorações seguras de programas Dafny

Detalhes bibliográficos
Autor(a) principal: Antunes, Jonas Bastos
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