Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos

Detalhes bibliográficos
Autor(a) principal: Cruz, João Pedro López da
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da Universidade Federal Fluminense (RIUFF)
Texto Completo: http://app.uff.br/riuff/handle/1/27937
Resumo: Este trabalho se origina no contexto de experimentos científicos que são executados completamente através de simulações computacionais. Os desenvolvedores de tais projetos, em geral, são pesquisadores das mais diversas áreas do conhecimento, muitas vezes não possuindo sólidos conhecimentos em Computação. Para auxiliá-los no desenvolvimento de seu trabalho, diversas ferramentas vem sendo criados, a cada dia. Uma delas é o IntPy, um mecanismo de cache que emprega a técnica Memoization para acelerar a execução de scripts escritos em Python. Nossa pesquisa propõe um protótipo de pré-processamento para aperfeiçoar essa ferramenta de cache, permitindo-a detectar quando o código-fonte de um experimento científico é refatorado. Uma vez que tais modificações são caracterizadas por não alterarem a funcionalidade de um programa, ao identifica-las, o IntPy pode utilizar os resultados previamente salvos em seu cache para acelerar o experimento. Nossa avaliação experimental nos mostrou que o tempo de execução do IntPy toda vez que uma função pura é chamada foi incrementado entre 0,003 e 0,051 segundos, enquanto que o tempo de execução total do experimento foi incrementado em menos de 10 segundos em 64,706% dos casos. Além disso, a precisão de detecção de nosso protótipo sempre se mostrou acima de 70%.
id UFF-2_7deb1e79eaa0feb6181f8fe69cc1e862
oai_identifier_str oai:app.uff.br:1/27937
network_acronym_str UFF-2
network_name_str Repositório Institucional da Universidade Federal Fluminense (RIUFF)
repository_id_str 2120
spelling Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicosExperimentos CientíficosCacheMemoizationPré-processamentoRefatoraçãoSimulação por computadorPrototipagemEficiênciaScientific ExperimentsCacheMemoizationPre-processingRefactoringEste trabalho se origina no contexto de experimentos científicos que são executados completamente através de simulações computacionais. Os desenvolvedores de tais projetos, em geral, são pesquisadores das mais diversas áreas do conhecimento, muitas vezes não possuindo sólidos conhecimentos em Computação. Para auxiliá-los no desenvolvimento de seu trabalho, diversas ferramentas vem sendo criados, a cada dia. Uma delas é o IntPy, um mecanismo de cache que emprega a técnica Memoization para acelerar a execução de scripts escritos em Python. Nossa pesquisa propõe um protótipo de pré-processamento para aperfeiçoar essa ferramenta de cache, permitindo-a detectar quando o código-fonte de um experimento científico é refatorado. Uma vez que tais modificações são caracterizadas por não alterarem a funcionalidade de um programa, ao identifica-las, o IntPy pode utilizar os resultados previamente salvos em seu cache para acelerar o experimento. Nossa avaliação experimental nos mostrou que o tempo de execução do IntPy toda vez que uma função pura é chamada foi incrementado entre 0,003 e 0,051 segundos, enquanto que o tempo de execução total do experimento foi incrementado em menos de 10 segundos em 64,706% dos casos. Além disso, a precisão de detecção de nosso protótipo sempre se mostrou acima de 70%.This work originates in the context of scientific experiments that are performed completely through computer simulations. In general, the developers of such projects are researchers from different fields, often not having solid knowledge in Computing. To assist them in the development of their work, several tools are being created every day. One of these tools is IntPy, a caching mechanism that employs Memoization to speed up the execution of scripts written in Python. Our research proposes a pre-processing prototype to improve this cache tool, allowing it to detect when the source code of a scientific experiment is refactored. Since such modifications are characterized by not changing the functionality of a program, by identifying them, IntPy can use the results previously saved in its cache to speed up the experiment. Our experimental evaluation showed us that the execution of IntPy every time a pure function is called was incremented between 0.003 and 0.051 seconds, while the total execution time of the experiment was incremented in less than 10 seconds in 64.706% of cases. Furthermore, the detection accuracy of our prototype always turned out to be above 70%.73 f.Murta, Vanessa BraganholoMartins, Simone de LimaOliveira, Daniel Cardoso Moraes deCruz, João Pedro López da2023-02-23T16:17:20Z2023-02-23T16:17:20Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfCRUZ, João Pedro López da. Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos. 2022. 73 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Universidade Federal Fluminense, Instituto de Computação, Niterói, 2022.http://app.uff.br/riuff/handle/1/27937CC-BY-SAinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)instname:Universidade Federal Fluminense (UFF)instacron:UFF2023-02-23T16:17:23Zoai:app.uff.br:1/27937Repositório InstitucionalPUBhttps://app.uff.br/oai/requestriuff@id.uff.bropendoar:21202024-08-19T10:53:57.360216Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)false
dc.title.none.fl_str_mv Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
title Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
spellingShingle Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
Cruz, João Pedro López da
Experimentos Científicos
Cache
Memoization
Pré-processamento
Refatoração
Simulação por computador
Prototipagem
Eficiência
Scientific Experiments
Cache
Memoization
Pre-processing
Refactoring
title_short Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
title_full Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
title_fullStr Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
title_full_unstemmed Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
title_sort Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
author Cruz, João Pedro López da
author_facet Cruz, João Pedro López da
author_role author
dc.contributor.none.fl_str_mv Murta, Vanessa Braganholo
Martins, Simone de Lima
Oliveira, Daniel Cardoso Moraes de
dc.contributor.author.fl_str_mv Cruz, João Pedro López da
dc.subject.por.fl_str_mv Experimentos Científicos
Cache
Memoization
Pré-processamento
Refatoração
Simulação por computador
Prototipagem
Eficiência
Scientific Experiments
Cache
Memoization
Pre-processing
Refactoring
topic Experimentos Científicos
Cache
Memoization
Pré-processamento
Refatoração
Simulação por computador
Prototipagem
Eficiência
Scientific Experiments
Cache
Memoization
Pre-processing
Refactoring
description Este trabalho se origina no contexto de experimentos científicos que são executados completamente através de simulações computacionais. Os desenvolvedores de tais projetos, em geral, são pesquisadores das mais diversas áreas do conhecimento, muitas vezes não possuindo sólidos conhecimentos em Computação. Para auxiliá-los no desenvolvimento de seu trabalho, diversas ferramentas vem sendo criados, a cada dia. Uma delas é o IntPy, um mecanismo de cache que emprega a técnica Memoization para acelerar a execução de scripts escritos em Python. Nossa pesquisa propõe um protótipo de pré-processamento para aperfeiçoar essa ferramenta de cache, permitindo-a detectar quando o código-fonte de um experimento científico é refatorado. Uma vez que tais modificações são caracterizadas por não alterarem a funcionalidade de um programa, ao identifica-las, o IntPy pode utilizar os resultados previamente salvos em seu cache para acelerar o experimento. Nossa avaliação experimental nos mostrou que o tempo de execução do IntPy toda vez que uma função pura é chamada foi incrementado entre 0,003 e 0,051 segundos, enquanto que o tempo de execução total do experimento foi incrementado em menos de 10 segundos em 64,706% dos casos. Além disso, a precisão de detecção de nosso protótipo sempre se mostrou acima de 70%.
publishDate 2023
dc.date.none.fl_str_mv 2023-02-23T16:17:20Z
2023-02-23T16:17:20Z
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 CRUZ, João Pedro López da. Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos. 2022. 73 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Universidade Federal Fluminense, Instituto de Computação, Niterói, 2022.
http://app.uff.br/riuff/handle/1/27937
identifier_str_mv CRUZ, João Pedro López da. Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos. 2022. 73 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Universidade Federal Fluminense, Instituto de Computação, Niterói, 2022.
url http://app.uff.br/riuff/handle/1/27937
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv CC-BY-SA
info:eu-repo/semantics/openAccess
rights_invalid_str_mv CC-BY-SA
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)
instname:Universidade Federal Fluminense (UFF)
instacron:UFF
instname_str Universidade Federal Fluminense (UFF)
instacron_str UFF
institution UFF
reponame_str Repositório Institucional da Universidade Federal Fluminense (RIUFF)
collection Repositório Institucional da Universidade Federal Fluminense (RIUFF)
repository.name.fl_str_mv Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)
repository.mail.fl_str_mv riuff@id.uff.br
_version_ 1811823601933877248