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

Monitorização de Defeitos em Runtime

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

Resumo(s)

Sistemas de grande dimensão não são facilmente desenvolvidos ou mantidos. Em certos casos é difícil encontrar problemas no código, realizando apenas uma anÔlise estÔtica. A maneira mais comum de lidar com este problema é através do uso de debuggers. No entanto, pode não ser fÔcil, por exemplo, testar todos os valores de input possíveis ou testar código que interaja com subsistemas complexos ou com código desconhecido. De forma a encontrar problemas na execução de sistemas complexos, é necessÔrio realizar uma monitorização contínua. Grande parte dos sistemas implementa registos de eventos. Estes registos contêm informação acerca do estado de cada subsistema, que podem ser usados para inferir o estado geral do sistema. Nesta dissertação propõe-se uma solução de monitorização modular, flexível e configurÔvel, baseada em registos de eventos de diferentes sistemas. Embora esta solução tenha sido desenvolvida no âmbito de um projeto específico com necessidades específicas, pretende-se que esta possa ser adaptada para outros casos. De modo a facilitar o desenvolvimento futuro, ao longo deste documento, irÔ ser descrita toda a implementação atual, a sua estrutura e ainda, a anÔlise realizada para a escolha de ferramentas e para outras tomadas de decisão. De modo a avaliar a solução implementada, foram realizados alguns testes, comparando o seu desempenho com uma outra solução semelhante, implementada anteriormente, que se pretendia melhorar. Para avaliar a sua utilidade, foi ainda pedido a algumas pessoas que testassem a nova solução e a comparassem com a solução antiga.
Systems with big dimensions are not easily developed or maintained. In some cases, it is hard to find every problem in the code by only executing a static analysis. The most common way to deal with this problem is by using debuggers, however, these tools also have some limitations, for example, it might not be possible to test every possible combination of input values, or to test code that interacts with complex systems or with unknown code. In order to find problems in the execution of complex systems, it is necessary to perform a continuous system monitoring. Most systems implement some type of logging. Log files contain useful information about the state of each subsystem, this information can then be used to infer the state of the main system. This dissertation proposes a flexible and configurable solution for monitoring, based on logs from different systems. This solution was developed in the context of a specific project with specific needs, however, it should be possible to be adapted to be used in other projects or systems. In order to help further development, in this document it will be described the development, structure and even the research and analysis executed in order to choose different tools or ways to implement the final solution. To evaluate this solution, some tests were conducted in order to compare its performance against another similar solution that was previously developed. To evaluate its usefulness, some people were asked to test the final solution and to compare it with the previous one.

Descrição

Palavras-chave

Monitorização Debugging Logging Health Check

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

FascĆ­culo

Editora

LicenƧa CC