Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir

Detalhes bibliográficos
Autor(a) principal: Merlo, Vicente Alberto Martins
Data de Publicação: 2021
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/235369
Resumo: Erros em programas de computador causam grandes prejuízos econômicos e sociais. Uma das principais estratégias para a prevenção de erros são os testes unitários, que testam programas em nível de implementação e asseguram que um comportamento se manteve de acordo com o especificado pelos programadores. Para a categoria dos erros causados pelo uso indesejado de recursos computacionais pelo programa, é difícil a escrita de testes unitários, pois normalmente são necessárias integrações com ferramentas de profiling, muitas vezes externas à suíte de testes. Neste trabalho, implementamos uma biblioteca chamada Chronos que integra um profiler à suíte de testes da linguagem Elixir. Avaliamos, com base em três experimentos, a viabilidade da biblioteca implementada, demonstrando a relevância do Chronos, levando em conside ração o tempo de execução e o overhead de tamanho dos programas analisados, como mais uma ferramenta no arsenal de programadores para aumentar a confiança no software.
id UFRGS-2_3dbbf899683cccb2cc9564417a42a5d7
oai_identifier_str oai:www.lume.ufrgs.br:10183/235369
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Merlo, Vicente Alberto MartinsMoreira, Alvaro Freitas2022-02-19T04:41:55Z2021http://hdl.handle.net/10183/235369001137476Erros em programas de computador causam grandes prejuízos econômicos e sociais. Uma das principais estratégias para a prevenção de erros são os testes unitários, que testam programas em nível de implementação e asseguram que um comportamento se manteve de acordo com o especificado pelos programadores. Para a categoria dos erros causados pelo uso indesejado de recursos computacionais pelo programa, é difícil a escrita de testes unitários, pois normalmente são necessárias integrações com ferramentas de profiling, muitas vezes externas à suíte de testes. Neste trabalho, implementamos uma biblioteca chamada Chronos que integra um profiler à suíte de testes da linguagem Elixir. Avaliamos, com base em três experimentos, a viabilidade da biblioteca implementada, demonstrando a relevância do Chronos, levando em conside ração o tempo de execução e o overhead de tamanho dos programas analisados, como mais uma ferramenta no arsenal de programadores para aumentar a confiança no software.Malfunctions in computer programs cause huge economical and social damages. One of the main strategies for the prevention of malfunctions are unit tests, which test program at implementation level and make sure that a behavior is kept according to what was specified by the programmer. The writing of unit tests is difficult with respect to the categories of malfunctions caused by the unwanted use of computer resources by the program, since usually the integration of a profiling tool is necessary — many times external to the test suite. In this work, we implemented a library called Chronos, which integrates a profiler to the test suite of the Elixir language. We evaluated, based upon three experiments, the viability of the implemented library, which demonstrates the relevance, with respect to execution time and bytecode size overhead, of Chronos as another tool in the programmer’s toolbox to increase software reliability.application/pdfporLinguagem de programaçãoSoftwareElixirProfilingChronos : uma ferramenta de profiling integrada à suíte de testes para ElixirChronos: a profiling tool integrated to the test suite for Elixir info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2021Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001137476.pdf.txt001137476.pdf.txtExtracted Texttext/plain91025http://www.lume.ufrgs.br/bitstream/10183/235369/2/001137476.pdf.txtf90c720e79ad323010c773609e39545cMD52ORIGINAL001137476.pdfTexto completoapplication/pdf502999http://www.lume.ufrgs.br/bitstream/10183/235369/1/001137476.pdfad4450231f936e5609cf2b5871bc912eMD5110183/2353692022-02-22 04:55:11.056388oai:www.lume.ufrgs.br:10183/235369Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2022-02-22T07:55:11Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
dc.title.alternative.en.fl_str_mv Chronos: a profiling tool integrated to the test suite for Elixir
title Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
spellingShingle Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
Merlo, Vicente Alberto Martins
Linguagem de programação
Software
Elixir
Profiling
title_short Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
title_full Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
title_fullStr Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
title_full_unstemmed Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
title_sort Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
author Merlo, Vicente Alberto Martins
author_facet Merlo, Vicente Alberto Martins
author_role author
dc.contributor.author.fl_str_mv Merlo, Vicente Alberto Martins
dc.contributor.advisor1.fl_str_mv Moreira, Alvaro Freitas
contributor_str_mv Moreira, Alvaro Freitas
dc.subject.por.fl_str_mv Linguagem de programação
Software
topic Linguagem de programação
Software
Elixir
Profiling
dc.subject.eng.fl_str_mv Elixir
Profiling
description Erros em programas de computador causam grandes prejuízos econômicos e sociais. Uma das principais estratégias para a prevenção de erros são os testes unitários, que testam programas em nível de implementação e asseguram que um comportamento se manteve de acordo com o especificado pelos programadores. Para a categoria dos erros causados pelo uso indesejado de recursos computacionais pelo programa, é difícil a escrita de testes unitários, pois normalmente são necessárias integrações com ferramentas de profiling, muitas vezes externas à suíte de testes. Neste trabalho, implementamos uma biblioteca chamada Chronos que integra um profiler à suíte de testes da linguagem Elixir. Avaliamos, com base em três experimentos, a viabilidade da biblioteca implementada, demonstrando a relevância do Chronos, levando em conside ração o tempo de execução e o overhead de tamanho dos programas analisados, como mais uma ferramenta no arsenal de programadores para aumentar a confiança no software.
publishDate 2021
dc.date.issued.fl_str_mv 2021
dc.date.accessioned.fl_str_mv 2022-02-19T04:41:55Z
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 http://hdl.handle.net/10183/235369
dc.identifier.nrb.pt_BR.fl_str_mv 001137476
url http://hdl.handle.net/10183/235369
identifier_str_mv 001137476
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.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/235369/2/001137476.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/235369/1/001137476.pdf
bitstream.checksum.fl_str_mv f90c720e79ad323010c773609e39545c
ad4450231f936e5609cf2b5871bc912e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224621369851904