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 (2023)
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%.