Pré-processamento para aumentar a eficiência do intpy após refatorações em scripts de experimentos científicos
Autor(a) principal: | |
---|---|
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 |