Logo do repositório
 
A carregar...
Miniatura
Publicação

Static Analysis for Data-race detection in Java

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
Ferreira_2024.pdf1.45 MBAdobe PDF Ver/Abrir

Resumo(s)

Over a decade ago the architectural paradigm shifted from single-core to multi-core/multi- threaded CPUs. Since then programming in parallel became crucial for developing effi- cient and faster programs. With concurrent programming came the challenge of writing programs free of data races. There are mechanisms to control the concurrency by means of synchronizing the threads, but using them does not always guarantee a correct pro- gram. To overcome this issue, in this thesis we investigate and present how we can use static program analysis to detect data races in Java classes without any extra input from the programmer. We used static analysis in Java to perform points-to analysis to find the accesses that cause data races. We benchmarked our tool with some open source code examples and compared the results of our solution with an existing tool for static analysis. We found that, while our tool still needs more refinement and optimization, it can already detect most, if not all of the data races in Java classes.
Há mais de uma década, o paradigma arquitetural mudou de CPUs single-core para CPUs multi-core/multi-threaded. Desde então programar em paralelo tornou-se crucial para desenvolver programas mais rápidos e eficientes. Com a programação concorrente veio o desafio de escrever programas livres de data races. Existem mecanismos que efetuam controlo de concorrência ao sincronizarem as threads, mas usá-los por si só não garante um programa correto. Para resolver este problema, neste trabalho investigamos e apresentamos como po- demos usar análise estática de programas para detetar data races em classes Java sem qualquer informação extra dada pelo do utilizador. Fizemos testes à nossa ferramenta usando exemplos de código de fonte aberta e com- parámos os resultados da nossa solução com os de uma ferramenta de análise estática já existente. Descobrimos que, apesar de a nossa ferramenta ainda precisar de ser aperfeiço- ada e otimizada, esta já consegue detetar a maioria, senão todas as data races em classes Java.

Descrição

Palavras-chave

program analysis points-to analysis static analysis data race

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Licença CC