Análise de Impacto de Mudanças de Software Gilson Pereira dos Santos Júnior Universidade Federal de Campina Grande Departamento de Sistemas e Computação Disciplina: Mineração de Dados Professor: Marcus Sampaio A realização de uma mudança em um software orientado a objetos pode desencadear muitas outras modificações no sistema, devido à dependência e inter-relacionamento entre as classes. Esse fato justifica a importância de analisar o impacto das ações. Nesse contexto, o emprego de técnicas de mineração de dados pode induzir, de maneira automática, um modelo que retrate o impacto das mudanças de software a serem realizadas. Tal tarefa consiste em efetuar uma análise de associação entre as classes que participaram do mesmo commit (classes que têm o mesmo autor e foram “salvas” na mesma janela de tempo) com intuito de “responder duas questões relacionadas a acoplamento de mudanças: (q1) quais classes mudam juntas frequentemente ao longo do desenvolvimento de um sistema?; e (q2) se uma classe mudar, qual a probabilidade que outras classes também mudem?. A solução do problema envolve achar a resposta para as duas questões, a um custo aceitável”. [Hat07] Para responder as seguintes questões, julgasse necessário o emprego de algoritmos de extração de regras de associação. Visando verificar a viabilidade da análise associativa foi empregado o algoritmo Apriori no o arquivo de dados .jfreechart ( disponível em http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.2/PosGraduacao/MineracaoDeDados/Pr ojetos/Projeto1/Dados/jfreechart.rar ) após a preparação e transformação dos dados. Nesta análise inicial, identificou-se regras do tipo: REGRA 1: ChartFactory.java ChartMouseEvent.java 3 ==> ChartMouseListener.java ChartPanel.java ChartRenderingInfo.java ChartUtilities.java 3 conf:(1) Ou seja, todas as vezes que ocorreram mudanças nas classes ChartFactory, ChartMouseEvent modificações nas classes ChartMouseListener, ChartPanel, ChartRenderingInfo, ChartUtilities também tiveram que ser realizadas. Resultado com 100% de confiabilidade. Assim observa-se que é possível efetuar a análise de mudanças com algoritmos de mineração de dados. Referências Bibliográficas [Hat07] Hattori, Lile. Análise de Impacto de Mudanças de Software. Disponível em http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.2/PosGraduacao/MineracaoDeDados/Pr ojetos/Projeto1/Apresentacao.htm