Detalhes bibliográficos
Ano de defesa: |
2015 |
Autor(a) principal: |
Roberto Pepato Mellado |
Orientador(a): |
Não Informado pela instituição |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Instituto Tecnológico de Aeronáutica
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
http://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=3233
|
Resumo: |
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%. |