Título
[en] EVENTMANAGER: A TOOL FOR ANALYSING CONCURRENT PROGRAMS
Título
[pt] EVENTMANAGER: UMA FERRAMENTA DE ANÁLISE DE PROGRAMAS CONCORRENTES
Autor
[pt] ANNA LETICIA ALEGRIA P DE OLIVEIRA
Vocabulário
[pt] LINGUAGENS DE DOMINIO ESPECIFICO
Vocabulário
[pt] APRENDIZAGEM DE CONCORRENCIA
Vocabulário
[pt] TESTES DE PROGRAMAS
Vocabulário
[pt] PROGRAMACAO CONCORRENTE
Vocabulário
[en] DOMAIN-SPECIFIC LANGUAGES
Vocabulário
[en] CONCURRENCY LEARNING
Vocabulário
[en] PROGRAM TESTS
Vocabulário
[en] CONCURRENT PROGRAMMING
Resumo
[pt] Alunos aprendendo programação concorrente muitas vezes têm dificuldades de testar seus programas por conta do não-determinismo presente no
escalonamento de threads. Em geral, é difícil testar cenários específicos e mais
difícil ainda repetir um determinado cenário para testar mudanças do código.
Nesta tese, apresentamos a EventManager: uma ferramenta que criamos para
permitir que um usuário instrumente seu programa, marcando eventos no código e especificando sequências de eventos através de uma linguagem de domínio específico (DSL). Esta linguagem restringe o escalonamento das threads
para que obedeça as sequências permitidas para estes eventos. Descrevemos a
implementação da EventManager para aplicações baseadas em threads POSIX.
Investigamos a aplicação da ferramenta em soluções de problemas clássicos de
concorrência para averiguar a expressividade da linguagem que criamos.
Resumo
[en] Students learning concurrent programming often struggle with tests due
to the non-deterministic nature of thread scheduling. It is in general hard to
test specific scenarios and harder yet to repeat a given scenario for further
tests after changes to the code. In this thesis, we present EventManager: a
tool we developed that allows the user to instrument their program, marking
events in the code and specifying valid event sequences using a domainspecific language. This language restricts thread scheduling to obey allowed
sequences for these events. We describe the implementation of EventManager
for applications based on POSIX threads. We investigate our tool applied on
solutions of classical concurrency problems to verify the expressiveness of the
created language.
Orientador(es)
ROBERTO IERUSALIMSCHY
Banca
ROBERTO IERUSALIMSCHY
Banca
NOEMI DE LA ROCQUE RODRIGUEZ
Banca
LUIZ FERNANDO BESSA SEIBEL
Banca
SILVANA ROSSETTO
Catalogação
2022-10-10
Apresentação
2022-08-26
Tipo
[pt] TEXTO
Formato
application/pdf
Idioma(s)
PORTUGUÊS
Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=60794@1
Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=60794@2
Referência DOI
https://doi.org/10.17771/PUCRio.acad.60794
Arquivos do conteúdo
NA ÍNTEGRA PDF