Chronos : uma ferramenta de profiling integrada à suíte de testes para Elixir
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 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 |