Investigando as relações entre problemas de segurança de memória e desempenho em programas Kotlin
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 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 |