Please use this identifier to cite or link to this item:
https://repositorio.ufu.br/handle/123456789/12504
Document type: | Dissertação |
Access type: | Acesso Aberto |
Title: | Técnicas para compreensão de rastros de execução de programas orientados a objetos |
Author: | Silva, Luciana Lourdes |
First Advisor: | Maia, Marcelo de Almeida |
First coorientator: | Amo, Sandra Aparecida de |
First member of the Committee: | Valente, Marco Túlio de Oliveira |
Second member of the Committee: | Soares, Michel dos Santos |
Summary: | 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. |
Abstract: | 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. |
Keywords: | Evolução de software Rastros de execução Reuso Manutenção de software Sumarização de rastros Alinhamento de rastros Visões dinâmicas Software evolution Execution traces Reuse Software maintenance Trace summarization Trace alignment Dynamic views Software Programação orientada a objetos (Computação) |
Area (s) of CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
Language: | por |
Country: | BR |
Publisher: | Universidade Federal de Uberlândia |
Institution Acronym: | UFU |
Department: | Ciências Exatas e da Terra |
Program: | Programa de Pós-graduação em Ciência da Computação |
Quote: | SILVA, Luciana Lourdes. Técnicas para compreensão de rastros de execução de programas orientados a objetos. 2011. 82 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de Uberlândia, Uberlândia, 2011. |
URI: | https://repositorio.ufu.br/handle/123456789/12504 |
Date of defense: | 22-Feb-2011 |
Appears in Collections: | DISSERTAÇÃO - Ciência da Computação |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Diss Luciana.pdf | 1.35 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.