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

Detalhes bibliográficos
Autor(a) principal: Moura, Daniel Yuri da Rocha
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFAM
Texto Completo: 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.
id UFAM-1_354cf6e708f81cf8a44d10ee9d75156b
oai_identifier_str oai:localhost:prefix/6647
network_acronym_str UFAM-1
network_name_str Repositório Institucional da UFAM
repository_id_str
spelling Investigando as relações entre problemas de segurança de memória e desempenho em programas KotlinKotlinSegurança de memóriaDesempenho de softwareAnálise estáticaAnálise dinâmicaENGENHARIAS: ENGENHARIA ELETRICA: TELECOMUNICACOES: SISTEMAS DE TELECOMUNICACOESKotlin (Linguagem de programação de computador)Software - DesenvolvimentoMedição de softwareSoftware - AvaliaçãoThe 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.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.1NãoBrasilFT - Faculdade de TecnologiaManaus (AM)Engenharia Elétrica – Telecomunicações - Bacharelado - ManausCordeiro, Lucas Carvalhohttp://lattes.cnpq.br/5005832876603012Rodrigues, Rosiane de FreitasJanuário, Francisco de Assis PereiraMoura, Daniel Yuri da Rocha2023-05-29T19:58:10Z2023-05-29T19:58:10Z2023-02-23info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesishttp://riu.ufam.edu.br/handle/prefix/6647porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFAMinstname:Universidade Federal do Amazonas (UFAM)instacron:UFAM2023-05-29T19:59:24Zoai:localhost:prefix/6647Repositório InstitucionalPUBhttp://riu.ufam.edu.br/oai/requestopendoar:2023-05-29T19:59:24Repositório Institucional da UFAM - Universidade Federal do Amazonas (UFAM)false
dc.title.none.fl_str_mv Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
title Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
spellingShingle Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
Moura, Daniel Yuri da Rocha
Kotlin
Segurança de memória
Desempenho de software
Análise estática
Análise dinâmica
ENGENHARIAS: ENGENHARIA ELETRICA: TELECOMUNICACOES: SISTEMAS DE TELECOMUNICACOES
Kotlin (Linguagem de programação de computador)
Software - Desenvolvimento
Medição de software
Software - Avaliação
title_short Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
title_full Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
title_fullStr Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
title_full_unstemmed Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
title_sort Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
author Moura, Daniel Yuri da Rocha
author_facet Moura, Daniel Yuri da Rocha
author_role author
dc.contributor.none.fl_str_mv Cordeiro, Lucas Carvalho
http://lattes.cnpq.br/5005832876603012
Rodrigues, Rosiane de Freitas
Januário, Francisco de Assis Pereira
dc.contributor.author.fl_str_mv Moura, Daniel Yuri da Rocha
dc.subject.por.fl_str_mv Kotlin
Segurança de memória
Desempenho de software
Análise estática
Análise dinâmica
ENGENHARIAS: ENGENHARIA ELETRICA: TELECOMUNICACOES: SISTEMAS DE TELECOMUNICACOES
Kotlin (Linguagem de programação de computador)
Software - Desenvolvimento
Medição de software
Software - Avaliação
topic Kotlin
Segurança de memória
Desempenho de software
Análise estática
Análise dinâmica
ENGENHARIAS: ENGENHARIA ELETRICA: TELECOMUNICACOES: SISTEMAS DE TELECOMUNICACOES
Kotlin (Linguagem de programação de computador)
Software - Desenvolvimento
Medição de software
Software - Avaliação
description 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.
publishDate 2023
dc.date.none.fl_str_mv 2023-05-29T19:58:10Z
2023-05-29T19:58:10Z
2023-02-23
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 http://riu.ufam.edu.br/handle/prefix/6647
url http://riu.ufam.edu.br/handle/prefix/6647
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Brasil
FT - Faculdade de Tecnologia
Manaus (AM)
Engenharia Elétrica – Telecomunicações - Bacharelado - Manaus
publisher.none.fl_str_mv Brasil
FT - Faculdade de Tecnologia
Manaus (AM)
Engenharia Elétrica – Telecomunicações - Bacharelado - Manaus
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFAM
instname:Universidade Federal do Amazonas (UFAM)
instacron:UFAM
instname_str Universidade Federal do Amazonas (UFAM)
instacron_str UFAM
institution UFAM
reponame_str Repositório Institucional da UFAM
collection Repositório Institucional da UFAM
repository.name.fl_str_mv Repositório Institucional da UFAM - Universidade Federal do Amazonas (UFAM)
repository.mail.fl_str_mv
_version_ 1813274319758819328