Please use this identifier to cite or link to this item: https://repositorio.ufrn.br/jspui/handle/123456789/27152
Title: Uma ferramenta de análise de robustez para a melhoria da qualidade de sistemas de software
Authors: Garcia, Israel Barbosa
Keywords: Sistemas de Software;Qualidade;Tratamento de Exceções.;Robustez;Análise Estática;Plataforma;NET
Issue Date: 31-Jan-2013
Publisher: Universidade Federal do Rio Grande do Norte
Citation: GARCIA, Israel Barbosa. Uma ferramenta de análise de robustez para a melhoria da qualidade de sistemas de software. 2013. 78f. Dissertação (Mestrado em Engenharia de Produção) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2013.
Portuguese Abstract: Um produto de software é considerado confiável quando ele consegue entregar suas funcionalidades da forma como elas foram definidas. Robustez é um sub-atributo de confiabilidade e diz respeito à capacidade do software em reagir especificamente a defeitos externos. Os mecanismos de tratamento de exceções deveriam garantir a robustez dos sistemas. Entretanto, na prática é difícil atingir tal objetivo, seja por mau uso dos modelos existentes, seja pela deficiência dos próprios modelos. Além disso, percebe-se que os desenvolvedores que tratam as exceções de maneira adequada acabam tendo problemas sérios de produtividade, ao passo que o seu negligenciamento embora seja mais produtivo, tende a gerar sistemas menos confiáveis e com subseqüente aumento do custo de pós-produção. Alguns desastres reais tiveram relação direta com o negligenciamento do tratamento de exceções, por exemplo: o caso do foguete europeu Ariane 5 que se autodestruiu logo após o lançamento, e do sistema do radar brasileiro X-4000 que foi indicado como uma das causas do acidente aéreo do vôo GOL 1907 em 2006. Nesse contexto, este trabalho apresenta a ferramenta de análise estática do fluxo excepcional eFlowMining, focada na melhoria da robustez de aplicações .NET. Ela permite que o desenvolvedor: visualize métricas coletadas sobre o comportamento excepcional; analise o fluxo excepcional através de uma representação gráfica em forma de árvore; identifique possíveis bugs entre diferentes versões da mesma aplicação; e localize de forma rápida os tipos de exceções lançadas e seus respectivos tratadores. Todas as informações coletadas são armazenadas em bancos de dados a fim de possibilitar consultas e comparações das análises realizadas. A avaliação da ferramenta foi dividida em duas fases. A primeira teve o objetivo de mostrar a compatibilidade e a precisão da ferramenta em relação às diferentes linguagens de programação suportadas pela plataforma .NET. A segunda avaliou como a ferramenta ajudou os desenvolvedores a identificar possíveis defeitos entre diferentes versões do mesmo sistema de software.
Abstract: A software product is considered reliable if it can deliver its functions the way they were defined. Robustness is a sub-attribute of reliability and concerns the software's ability to respond specifically to external defects. The exception handling mechanisms should ensure the robustness of the systems. However, in practice it is difficult to achieve such a goal, either by misuse of existing models, either by deficiency of the models themselves. Moreover, it is clear that developers dealing exceptions properly end up having serious problems in productivity, while its neglect although more productive, tends to generate less reliable systems and subsequent rising cost of post-production. Some real disasters were directly related to the neglect of exception handling, for example: the case of the European Ariane 5 rocket that self-destructed soon after launch, and the radar system Brazilian X-4000 which was nominated as one of the causes the crash of Gol Flight 1907 in 2006. In this context, this work presents a static analysis tool exceptional flow eFlowMining, focused on improving the robustness of applications. NET. It allows the developer: view metrics collected on the exceptional behavior; analyze the exceptional flow via a graphical representation as a tree; identify possible bugs between different versions of the same application, and quickly locate the types of exceptions thrown and their their handlers. All information collected is stored in databases to enable searches and comparisons of the analyzes. The evaluation tool was divided into two phases. The first aimed to show the consistency and accuracy of the tool relative to the different programming languages supported by the platform. NET. The second assessed how the tool helped developers identify possible defects between different versions of the same software system.
URI: https://repositorio.ufrn.br/jspui/handle/123456789/27152
Appears in Collections:PPGEP - Mestrado em Engenharia de Produção

Files in This Item:
File Description SizeFormat 
FerramentaAnaliseRobustez_Garcia_2013.pdf1.66 MBAdobe PDFThumbnail
View/Open


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