Show simple item record

dc.contributor.advisorNunes, Ingrid Oliveira dept_BR
dc.contributor.authorMertz, Jhonny Marcos Acordipt_BR
dc.date.accessioned2022-01-27T04:32:19Zpt_BR
dc.date.issued2021pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/234501pt_BR
dc.description.abstractUnderstanding behavioral aspects of a software system is an essential enabler for many software engineering activities such as monitoring choke-points, debugging, and self adaptation. Despite the usefulness of collecting system data, it may significantly impact the system execution by delaying response times and competing with system resources. Thus, runtime monitoring has limited practical use to online analysis or support real-time changes and adaptations on the program behavior. The typical approach to cope with this is to filter portions of the system to be monitored and to sample data. However, the majority of the existing solutions for filtering and sampling are limited to recording high-level events or based on predefined configurations, which unnecessarily limits the information available for analysis (i.e. relevance and representativeness of the collected set of traces). As systems often have varying workloads, some approaches dynamically change filtering and sampling configurations at runtime. Although these approaches are a step towards achieving a desired trade-off between the amount of collected information and the impact on the system performance, they focus on collecting data for a particular purpose or may capture a sample that may not correspond to the actual system behav ior. In this thesis, we increase the practical feasibility of software runtime monitoring by reducing the monitoring overhead and pursuing the relevance and representativeness of the collected traces. Therefore, we propose a solution to address the challenges of fil tering and sampling of execution traces. In order to filter relevant execution traces, we propose a domain-independent and low-impact framework, called Tigris, which abstracts the reasoning related to monitoring from the particularities of each problem addressed by filtering relevant execution traces according to the goal of monitoring. To tackle the challenges of collecting a representative sample, we propose an adaptive runtime monitor ing process to dynamically adapt the sampling rate while monitoring software systems. It includes algorithms with statistical foundations to improve the representativeness of collected samples without compromising the system performance. We evaluated both ap proaches with empirical studies to assess different aspects of the proposed solutions. The results show that our techniques can reduce the overhead of monitoring by filtering and sampling traces, and pursue relevance and representativeness of collected traces.en
dc.description.abstractCompreender o comportamento de um sistema de software é uma tarefa essencial para muitas atividades de engenharia de software, como identificação de bugs, melhorias de desempenho, depuração e auto-adaptação. Apesar da utilidade da coleta de traços de execução, isso pode afetar significativamente a execução do sistema, atrasando os tempos de resposta e competindo com os recursos. Assim, o monitoramento em tempo de execução tem uso prático limitado para análise ou suporte a mudanças em tempo real. A abordagem típica para lidar com tal problema é filtrar partes do sistema a serem monitoradas e amostrar traços. No entanto, a maioria das soluções existentes para filtragem e amostragem são baseadas em configurações predefinidas, o que limita as informações disponíveis para análise. Como sistemas costumam ter cargas de trabalho variáveis, algu mas abordagens mudam dinamicamente as configurações de filtragem e amostragem em tempo de execução. Embora essas abordagens podem atingir um melhor balanço entre a quantidade de informações coletadas e o impacto no desempenho do sistema, elas se concentram na coleta de traços para uma finalidade específica ou podem capturar uma amostra não correspondente ao comportamento atual do sistema. Nesta tese, aumentamos a viabilidade prática de monitoramento de tempo de execução de software, reduzindo a sobrecarga de monitoramento e aumentando a relevância e representatividade dos traços coletados. Assim, propomos uma solução para enfrentar os desafios de filtragem e amos tragem de traços de execução. Para filtrar os traços de execução relevantes, propomos um framework independente de domínio e de baixo impacto, denominado Tigris, que abstrai o raciocínio relacionado ao monitoramento das particularidades de cada problema abordado, filtrando os traços de execução relevantes de acordo com o objetivo do moni toramento. Em relação aos desafios de coletar uma amostra representativa, propomos um processo de monitoramento adaptativo, que altera dinamicamente a taxa de amostragem de acordo com a carga de trabalho do sistema. Nós avaliamos ambas as abordagens com estudos empíricos, e os resultados mostram que as técnicas propostas podem reduzir a sobrecarga de monitoramento por meio da filtragem e amostragem de traços, e aumentar a relevância e representatividade dos traços coletados.pt_BR
dc.format.mimetypeapplication/pdfpt_BR
dc.language.isoengpt_BR
dc.rightsOpen Accessen
dc.subjectExecution tracesen
dc.subjectAmostragempt_BR
dc.subjectMonitoringen
dc.subjectDesempenhopt_BR
dc.subjectSoftwarept_BR
dc.subjectPerformanceen
dc.subjectLoggingen
dc.subjectAdaptationen
dc.subjectSelf-adaptationen
dc.titleAdaptive Filtering and Sampling in Runtime Software Monitoringpt_BR
dc.title.alternativeFiltragem e amostragem adaptativas para monitoração de software em tempo de execução pt
dc.typeTesept_BR
dc.identifier.nrb001136149pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.programPrograma de Pós-Graduação em Computaçãopt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2021pt_BR
dc.degree.leveldoutoradopt_BR


Files in this item

Thumbnail
   

This item is licensed under a Creative Commons License

Show simple item record