Depuração simbólica extensível para sistemas de objetos distribuídos

Depurar sistemas distribuídos continua uma tarefa difícil, mesmo após 30 anos de pesquisa intensa. Embora essa situação possa ser parcialmente atribuída à complexidade das execuções concorrentes, o rápido passo de desenvolvimento das plataformas e tecnologias para computação distribuída também carre...

ver descrição completa

Detalhes bibliográficos
Autor: Mega, Giuliano
Tipo de documento: dissertação
Estado:Versão publicada
Data de publicação:2008
País:Brasil
Recursos:Universidade de São Paulo (USP)
Repositório:Biblioteca Digital de Teses e Dissertações da USP
Idioma:português
OAI Identifier:oai:teses.usp.br:tde-29082008-142912
Acesso em linha:http://www.teses.usp.br/teses/disponiveis/45/45134/tde-29082008-142912/
Access Level:Acceso aberto
Palavra-chave:concurrent debugging
CORBA
depuração de sistemas concorrentes
depuração de sistemas distribuídos
distributed debugging
distributed threads
Eclipse
Java
middleware
portabilidade
portability
replay debugging
reprodução de execução
thread distribuído
Descrição
Resumo:Depurar sistemas distribuídos continua uma tarefa difícil, mesmo após 30 anos de pesquisa intensa. Embora essa situação possa ser parcialmente atribuída à complexidade das execuções concorrentes, o rápido passo de desenvolvimento das plataformas e tecnologias para computação distribuída também carrega a sua parcela de culpa, por encurtar a vida de muitas ferramentas potencialmente úteis. Neste trabalho, apresentamos uma análise dos principais problemas, técnicas e ferramentas ligados à depuração de sistemas concorrentes e discutidos na literatura. Baseados nessa análise, desenvolvemos e apresentamos uma nova técnica, simples e portátil, que pode ser aplicada a sistemas distribuídos que utilizam chamadas síncronas e bloqueantes. Essa técnica, concebida para sobreviver à heterogeneidade, é validada por meio da implementação de um arcabouço escrito para plataforma Eclipse e instanciado para sistemas de objetos distribuídos baseados em Java/CORBA.