Uma das principais preocupações consideradas na Engenharia de Software consiste na redução do custo de manutenção durante seu ciclo de vida, que pode compreender até 67% de seu custo total. A qualidade interna do código-fonte de um software representa um dos aspectos relacionados ao seu grau de manutenibilidade. Características de seu design como sua estruturação e facilidade de compreensão podem influenciar o esforço associado à sua manutenção. Especialistas em projetos de sistemas Orientados a Objetos (OO) defendem que a manutenção de baixo acoplamento entre os módulos resultam em produtos de software mais confiáveis e manuteníveis. Ao longo dos anos, autores formularam heurísticas para auxiliar os programadores a realizarem a tarefa de controlar o acoplamento entre módulos de um software. Uma destas heurísticas, a Lei de Demeter (Law of Demeter - LoD), foi proposta com a motivação de favorecer a modularização de um software através de sua aplicação. A Análise Estática de Código (AES) consiste em uma dentre as possíveis abordagens para automação da verificação da aderência ou violação da LoD no código-fonte de um software. Entretanto, sua aplicaçãoo pode apre- sentar alguns desafios como longos tempos de execução de análise, ruído excessivo e taxas inaceitáveis de falsos-positivos. Neste trabalho de pesquisa, se investiga, concebe, implementa e verifica um framework, denominado Law Of Demeter Reduced (LoDRed), para identificação automatizada de violações da LoD utilizando AES e redução do volume de ruídos resultantes. Nele, propõe-se ainda uma extensão para LoD, a Extensão da Lei de Demeter (Law of Demeter Extension - LoD-E) com a finalidade de investigar, definir e suportar, sob a ótica da LoD, elementos para análise de algumas construções particulares de linguagens OO como generics e lambda expressions, além de considerar a aplicação de filtros sobre agrupamentos lógicos. O framework LoDRed consiste na principal contribuição desta pesquisa. Ele define um processo, composto por quatro métodos que, em conjunto, têm a finalidade de identificar e reportar, de forma automatizada, violações da LoD e da LoD-E nos códigos-fonte de softwares. A sua implementação resultou em três produtos de software de código aberto e foi verificada nesta pesquisa por meio da execução de um experimento que apresentou redução no volume de ruídos da ordem de até 95%.
Identifer | oai:union.ndltd.org:IBICT/oai:agregador.ibict.br.BDTD_ITA:oai:ita.br:3233 |
Date | 14 May 2015 |
Creators | Roberto Pepato Mellado |
Contributors | Adilson Marques da Cunha |
Publisher | Instituto Tecnológico de Aeronáutica |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações do ITA, instname:Instituto Tecnológico de Aeronáutica, instacron:ITA |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.002 seconds