Trabalho de Conclusão de Curso

Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin

The present work empirically investigates the relationship between memory safety issues and performance in Kotlin programs. For this, a research and description of the main weaknesses related to memory safety in software systems was carried out. Then, a survey and selection of static and dynamic ana...

ver descrição completa

Autor principal: Moura, Daniel Yuri da Rocha
Grau: Trabalho de Conclusão de Curso
Idioma: por
Publicado em: Brasil 2023
Assuntos:
Acesso em linha: http://riu.ufam.edu.br/handle/prefix/6647
Resumo:
The present work empirically investigates the relationship between memory safety issues and performance in Kotlin programs. For this, a research and description of the main weaknesses related to memory safety in software systems was carried out. Then, a survey and selection of static and dynamic analysis tools were carried out, which were analyzed according to their capabilities for detecting memory safety problems and performance analysis. Finally, two experiments are presented where these tools are used to identify memory safety problems in Kotlin programs and to observe possible relationships between these problems and the performance of these programs. The results show that the ESBMC-Jimple tool was able to identify stack overflows, arithmetic overflows and division by zero in Kotlin programs, but in none of these cases was it possible to observe implications for the performance of these programs, since the JVM interrupts the execution of the programs when detecting these problems. In another experiment, it was possible to observe performance problems in a Kotlin program caused by a memory safety problem, but it was only possible to identify such problem through manual code review, as the ESBMC-Jimple tool does not have support for identifying the relative problem.