Use este identificador para citar ou linkar para este item:
http://riu.ufam.edu.br/handle/prefix/6647
Tipo de documento: | Trabalho de Conclusão de Curso |
Título: | Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin |
Autor(a): | Moura, Daniel Yuri da Rocha |
Orientador(a): | Cordeiro, Lucas Carvalho |
metadata.dc.contributor.referee1: | Rodrigues, Rosiane de Freitas |
metadata.dc.contributor.referee2: | Januário, Francisco de Assis Pereira |
Resumo: | O presente trabalho investiga de forma empírica as relações entre problemas de segurança de memória e desempenho em programas Kotlin. Para isso, foi feita uma pesquisa e descrição das principais fraquezas relacionadas à segurança de memória em sistemas de software. Em seguida, foi feito um levantamento e seleção de ferramentas de análise estática e dinâmica, que foram analisadas de acordo com suas capacidades para detecção de problemas de segurança de memória e análise de desempenho. Por último, são apresentados dois experimentos onde essas ferramentas são utilizadas para identificar problemas de segurança de memória em programas Kotlin e observar possíveis relações desses problemas com o desempenho desses programas. Os resultados mostram que a ferramenta ESBMC-Jimple pôde identificar estouros de pilha, estouros aritméticos e divisões por zero em programas Kotlin, mas em nenhum desses casos foi possível observar implicações no desempenho desses programas, pois a JVM interrompe a execução dos programas ao detectar esses problemas. Em outro experimento, foi possível observar problemas de desempenho em um programa Kotlin ocasionados por um problema de segurança de memória, mas só foi possível identificar tal problema através de revisão manual de código, pois a ferramenta ESBMC-Jimple não possui suporte para a identificação do relativo problema. |
Resumo em outro idioma: | 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. |
Palavras-chave: | Kotlin Segurança de memória Desempenho de software Análise estática Análise dinâmica |
Área de conhecimento - CNPQ: | ENGENHARIAS: ENGENHARIA ELETRICA: TELECOMUNICACOES: SISTEMAS DE TELECOMUNICACOES |
Idioma: | por |
País de publicação: | Brasil |
Faculdade, Instituto ou Departamento: | FT - Faculdade de Tecnologia |
metadata.dc.publisher.course: | Engenharia Elétrica – Telecomunicações - Bacharelado - Manaus |
Tipo de acesso: | Acesso Aberto |
URI: | http://riu.ufam.edu.br/handle/prefix/6647 |
Vocabulário controlado: | Kotlin (Linguagem de programação de computador) Software - Desenvolvimento Medição de software Software - Avaliação |
Aparece nas coleções: | Trabalho de Conclusão de Curso - Graduação - Engenharias |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
TCC_DanielMoura.pdf | 677,47 kB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.