sábado, 1 de setembro de 2012

Ostra: Mineração de Dados, Gerência de Configuração e Métricas de Software

Mestre Jedi


Finalmente, após 3 longos anos, terminei meu mestrado em computação na UFF. Minha pesquisa foi na área de Engenharia de Software, envolvendo as disciplinas de Métricas de Software, Mineração de Dados e Gerência de Configuração. O título do trabalho foi "OSTRA: UM ESTUDO DO HISTÓRICO DA QUALIDADE DO SOFTWARE ATRAVÉS DE REGRAS DE ASSOCIAÇÃO DE MÉTRICAS". Meu orientador foi o Leonardo Murta e o Alexandre Plastino foi meu co-orientador.
A defesa foi no dia 15 de Junho e fizeram parte da banca os professores Leonardo Murta, Alexandre Plastino e Viviane Torres da UFF e o professor Alessandro Garcia da PUC-Rio. Após duas horas de apresentação e perguntas o resultado foi a aprovação!


Resumo

O ciclo de vida de um software pode ser dividido em três fases: definição, desenvolvimento e manutenção. Dessas três, a manutenção consome cerca de 60% do tempo e 90% do custo do projeto. Porém, os atributos de qualidade flexibilidade e manutenibilidade, que avaliam a capacidade de manutenções evolutivas e corretivas, são definidos desde a fase de desenvolvimento. Consequentemente, deve-se monitorar os atributos de qualidade desde a fase de desenvolvimento para garantir a qualidade do produto. Dessa forma, para controlar a qualidade do software e não apenas reagir à sua variação, deve-se entender sobre quais fatores influenciam os atributos de qualidade e como eles variam entre si. 
Neste trabalho, é proposta a abordagem Ostra, que permite a análise do histórico de um software, armazenado no sistema de controle de versão, através da variação de métricas de software. Os objetivos da Ostra são: (1) fornecer informações ao processo de tomada de decisões, (2) monitorar a qualidade do software e (3) buscar padrões entre métricas presentes em um ou vários projetos. Para alcançar esses objetivos, a Ostra se baseia em três disciplinas: métricas de software, gerência de configuração e mineração de dados. Para apresentar as informações encontradas, são utilizados: gráficos de controle, histogramas, regras de associação e uma tabela de comportamentos. 
Para avaliar a abordagem, foram utilizados 16 projetos em três experimentos distintos, com os quais foi possível obter indícios de que os objetivos da abordagem são alcançados para projetos de diferentes tamanhos e finalidades. 
As contribuições deste trabalho são: (1) uma abordagem que considera as alterações realizadas ao longo da evolução do software como elemento básico de análise, as quais são descritas como a variação de métricas, (2) experimentos avaliando as questões de pesquisa, (3) uma infraestrutura para futuras pesquisas sobre mineração de repositórios de software e (4) uma base de dados com a medição de cerca de 30 métricas sobre 150 projetos.


Para quem se interessou, minha dissertação pode ser encontrada no site do Instituto de Computação da UFF. A idéia desse post era apenas apresentar a idéia. Em breve vou apresentar algumas das utilizações e resultados da pesquisa que agora estamos aplicando na STI/UFF

Nenhum comentário:

Postar um comentário

Obrigado por deixar seu comentário. Em breve ele estará publicado.