Return to search

Um modelo de referência para ferramenta de identificação de violações da lei de demeter

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%.

Identiferoai:union.ndltd.org:IBICT/oai:agregador.ibict.br.BDTD_ITA:oai:ita.br:3233
Date14 May 2015
CreatorsRoberto Pepato Mellado
ContributorsAdilson Marques da Cunha
PublisherInstituto Tecnológico de Aeronáutica
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações do ITA, instname:Instituto Tecnológico de Aeronáutica, instacron:ITA
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0126 seconds