Spelling suggestions: "subject:"trace summarized"" "subject:"trace summarize""
1 |
Aide à l'analyse de traces d'exécution dans le contexte des microcontrôleurs 32 bits / Assit to execution trace analysis in the microcontrollers 32 bits contextAmiar, Azzeddine 27 November 2013 (has links)
Souvent, dû à l'aspect cyclique des programmes embarqués, les traces de microcontrôleurs contiennent beaucoup de données. De plus, dans notre contexte de travail, pour l'analyse du comportement, une seule trace se terminant sur une défaillance est disponible. L'objectif du travail présenté dans cette thèse est d'aider à l'analyse de trace de microcontrôleurs. La première contribution de cette thèse concerne l'identification de cycles, ainsi que la génération d'une description pertinente de la trace. La détection de cycles repose sur l'identification du loop-header. La description proposée à l'ingénieur est produite en utilisant la compression basée sur la génération d'une grammaire. Cette dernière permet la détection de répétitions dans la trace. La seconde contribution concerne la localisation de faute(s). Elle est basée sur l'analogie entre les exécutions du programme et les cycles. Ainsi, pour aider dans l'analyse de la trace, nous avons adapté des techniques de localisation de faute(s) basée sur l'utilisation de spectres. Nous avons aussi défini un processus de filtrage permettant de réduire le nombre de cycles à utiliser pour la localisation de faute(s). Notre troisième contribution concerne l'aide à l'analyse des cas où les multiples cycles d'une même exécution interagissent entre eux. Ainsi, pour faire de la localisation de faute(s) pour ce type de cas, nous nous intéressons à la recherche de règles d'association. Le groupement des cycles en deux ensembles (cycles suspects et cycles corrects) pour la recherche de règles d'association, permet de définir les comportements jugés correctes et ceux jugés comme suspects. Ainsi, pour la localisation de faute(s), nous proposons à l'ingénieur un diagnostic basé sur l'analyse des règles d'association selon leurs degrés de suspicion. Cette thèse présente également les évaluations menées, permettant de mesurer l'efficacité de chacune des contributions discutées, et notre outil CoMET. Les résultats de ces évaluations montrent l'efficacité de notre travail d'aide à l'analyse de traces de microcontrôleurs. / The microcontroller traces contain a huge amount of information. This is mainly due to the cyclic aspect of embedded programs. In addition, in our context, a single trace that ends at the failure is used to analyze the behavior of the microcontroller . The work presented in this thesis aims to assit in analysis of microcontroller traces. The first contribution of this thesis concerns the identification of cycles and the generation of a relevant description of the trace. The detection of cycles is based on the identification of the loop-header. The description of the trace is generated using Grammar-Based Compression, which allows the detection of repetitions in the trace. The second contribution concerns the fault localization. Our approach is based on the analogy between executions and cycles. Thus, this contribution is an adaptation of some spectrum-based fault localization techniques. This second contribution also defines a filtering process, which aims to reduce the number of cycles used by the fault localization. The third contribution considers that the multiple cycles of a same execution can interact together. Our fault localization for this type of cases is based on the use of association rules. Grouping cycles in two sets (suspect cycles and correct cycles), and searching for association rules using those two sets, helps to define the behaviors considered as corrects and those considered as suspects. This thesis presents the experimental evaluations concerning our contributions, and our tool CoMET.
|
2 |
Técnicas para compreensão de rastros de execução de programas orientados a objetosSilva, Luciana Lourdes 22 February 2011 (has links)
Several attempts to facilitate understanding the behavior of software systems have
been proposed. Perfective changes in well-established software systems are easier to perform
when the development team has a solid understanding of the internals. However,
it is reasonable to assume that the use of an open source system to incorporate new
features and obtain a new software product is an appealing approach instead of coding
a new product from scratch. Considering this scenario, and considering that it is not
uncommon that systems are poorly documented, there is no widely accepted approach to
guide the perfective maintenance for developers with low understanding of the system or
that recovers high-level information about both the structure and the behavior of large
systems.
This work proposes a new approach to simplify comprehension tasks of object oriented
programs through the analysis of summarized execution traces. The approach is perfomed
on two techniques: The rst technique enables the separation of common parts of source
code from specic parts related to important features that drive the addition of the new
one. An evaluation is done to verify if the summarized execution traces helps the technique
to locate potential elements of code that can guide the development of a new feature. The
evaluation was conducted with real-world systems and with meaningful evolution tasks.
The second is based on a technique that reconstructs structural and behavioral highlevel
diagrams by the analysis of summarized execution traces. Precision and recall were
evaluated using two third-party open-source systems, including the webserver Tomcat.
The result suggests the feasibility for using the approach on real world large scale systems. / Várias abordagens para facilitar a compreensão do comportamento de sistemas de software
têm sido propostas. Mudanças perfectivas em sistemas de software bem estabelecidos
são mais fáceis de executar quando a equipe de desenvolvimento tem um entendimento
sólido do código fonte. Mas é razoável assumir que o uso de um sistema de código aberto
para incorporar novas características e obter um novo produto de software é uma abordagem
interessante, ao invés de codificar um novo produto a partir do zero. Em consideração
a este cenário e considerando que não é incomum sistemas pobres em documentação, não
existe uma abordagem amplamente aceita para guiar em mudanças perfectivas desenvolvedores
com baixo conhecimento do sistema ou que recupera informações em alto nível
de abstração sobre a estrutura e comportamento de sistemas complexos.
Este trabalho propõe uma nova abordagem para simplificar tarefas de compreensão
de programas orientados a objetos através da análise de rastros de execução sumarizados.
A abordagem é aplicada sobre duas técnicas: a primeira permite a separação de partes
comuns do código fonte das partes específicas relacionadas a características importantes
que conduz a adição de uma nova. Uma avaliação é feita para verificar se os rastros de
execução sumarizados ajudam a técnica na localização de elementos potenciais de código
que podem guiar o desenvolvimento de uma nova característica. A avaliação foi realizada
com sistemas do mundo real e com tarefas de evolução significativas. A segunda é baseada
na reconstrução de diagramas estruturais e comportamentais de alto nível baseada na
análise de rastros de execução sumarizados. É apresentada uma avaliação do desempenho
da abordagem em termos de precisão e recall em dois sistemas públicos de terceiros, dentre
eles o servidor Web Tomcat. O resultado sugere a viabilidade da abordagem para uso em
sistemas reais de larga escala. / Mestre em Ciência da Computação
|
Page generated in 0.1141 seconds