Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10386
Title: Modelos computacionais realistas para dependências entre entidades de software.
Other Titles: Realistic computational models for dependencies between software entities.
???metadata.dc.creator???: SOUZA, Rodrigo Rocha Gomes e.
???metadata.dc.contributor.advisor1???: GUERRERO, Dalton Dario Serey.
???metadata.dc.contributor.advisor2???: FIGUEIREDO, Jorge César Abrantes de.
???metadata.dc.contributor.referee1???: LOPES , Raquel Vigolvino,
???metadata.dc.contributor.referee2???: VALENTE, Marco Túlio de Oliveira.
Keywords: Manutenção de Software;Engenharia Reversa;Redes Complexas;Modelagem Computacional;Estudos Experimentais;Dependências;Análise Estática;Software Maintenance;Reverse Engineering;Complex Networks;Computational Modeling;Experimental Studies;Dependencies;Static Analysis
Issue Date: 31-Aug-2010
Publisher: Universidade Federal de Campina Grande
Citation: SOUZA, R. R. G. e. Modelos computacionais realistas para dependências entre entidades de software. 2010. 67 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10386
???metadata.dc.description.resumo???: A análise das dependências entre as entidades do código-fonte de um sistema de software é feita por diversas ferramentas de engenharia reversa com o propósito de revelar informações úteis para a manutenção do software. Existe, no entanto, uma carência de estudos experimentais projetados para avaliar tais ferramentas, em parte devido ao alto custo de se realizar experimentos na área. Na área de redes e sistemas distribuídos, o alto custo de experimentação motiva o uso da simulação como meio para avaliar protocolos e algoritmos. Na engenharia reversa, no entanto, simulações são pouco exploradas — o que se explica parcialmente pela falta de modelos computacionais realistas para dependências entre entidades de código-fonte. Neste trabalho são apresentados modelos computacionais que geram representações que podem ser interpretadas como dependências entre entidades de código-fonte. Um dos modelos computacionais, chamado BCR+, foi desenvolvido no contexto deste trabalho. Foi desenvolvido também um modelo de classificação que indica, com precisão de 96%, se uma representação de dependências é realista — isto é, se ela se assemelha a representações extraídas de sistemas reais. Por fim, é apresentada uma prova de conceito, que demonstra a viabilidade do uso do modelo BCR+ na avaliação de algoritmos usados no contexto de recuperação de arquitetura de software, um ramo da engenharia reversa.
Abstract: The analysis of dependencies between source code entities of a software system is performed by several reverse engineering tools in order to reveal information that is useful for software maintenance. There is, however, a shortage of experimental studies designed to evaluate such tools, in part due to the high cost of conducting experiments in the area. In the area of networks and distributed systems, the high cost of experimentation motivates the use of simulation as a means to evaluate protocols and algorithms. In reverse engineering, however, simulations are underexplored — which is partly explained by the lack of realistic computational models for dependencies between source code entities. This paper presents computer models that generate representations which can be interpreted as dependencies between source code entities. One of the models, called BCR+, was developed in the context of this work. We have also developed a classification model that can tell, with accuracy of 96%, whether a representation of dependencies is realistic — that is, if it resembles representations extracted from real systems. This work also presents a proof of concept, demonstrating the feasibility of using BCR+ to evaluate algorithms used in the context of software architecture recovery, a branch of reverse engineering.
Keywords: Manutenção de Software
Engenharia Reversa
Redes Complexas
Modelagem Computacional
Estudos Experimentais
Dependências
Análise Estática
Software Maintenance
Reverse Engineering
Complex Networks
Computational Modeling
Experimental Studies
Dependencies
Static Analysis
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10386
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
RODRIGO ROCHA GOMES E SOUZA - DISSERTAÇÃO (PPGCC) 2010.pdfRodrigo Rocha Gomes de Souza - Dissertação PPGCC 20101.7 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.