Teste de leis de lehman em sistemas open source

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2315 palavras )
  • Download(s) : 0
  • Publicado : 12 de novembro de 2012
Ler documento completo
Amostra do texto
Teste de Leis de Lehman em Sistemas Open Source Baseado na Extração de Métricas ao Longo das Versões

Alexandre Martins Paiva1

1Departamento de Ciência da Computação - Universidade Federal de Minas Gerais (UFMG)


ampaiva@gmail.com






Abstract. This paper describes four test Lehman's Laws. The analysis of the target systems are Open Source written in Java. The strategy wasto extract metrics nine systems from a set of official versions available for production use by the community. The systems chosen are active and widely used in the market. The metrics chosen were classified by categories. For each of the laws, which were verified categories of metrics that application and what the expected results for confirmation. The metrics confirmed or not contradicted the lawsof Lehman.






Resumo. Este artigo descreve teste em quatro Leis de Lehman. Os sistemas-alvo da análise são Open Source escritos em Java. A estratégia foi extrair métricas de nove sistemas a partir de um conjunto de versões oficiais disponíveis para uso em produção pela comunidade. Os sistemas escolhidos são ativos e amplamente utilizados no mercado. As métricas escolhidas foramclassificadas por categorias. Para cada um das leis, foram verificadas quais categorias de métricas se aplicavam e quais seriam os resultados esperados para confirmação. As métricas confirmaram ou não contradisseram as Leis de Lehman.





1. Introdução


Em 1980, Lehman propôs leis que descrevem a evolução de sistemas E-Type [1]. Essas leis tornaram-se um marco na Engenharia de Software comrespeito à evolução de sistemas.

A Engenharia de Software também contém uma vasta coleção de estudos sobre métricas de qualidade em sistemas orientados a objetos.





Este estudo analisa nove sistemas Open Source largamente utilizados no mercado. Para tal análise, várias métricas de qualidade foram extraídas de tais sistemas e os resultados obtidos foram comparados com as leis propostaspor Lehman.

Uma contribuição adicional deste estudo é uma metodologia para automatizar a extração de métricas a partir dos binários do sistema, evitando-se assim a necessidade do código-fonte, bem como a compilação do mesmo. Essa abordagem tornou-se particularmente útil uma vez que não se trata de tarefa simples gerar binários de versões antigas e específicas de sistemas em produção.2. Metodologia


Existem várias ferramentas para cálculo de métricas de software [4], [5]. Porém, a maioria dessas ferramentas requer o código-fonte do sistema em uma organização compilável.

Tal requisito é fácil de ser atendido quando se trata de um sistema em desenvolvimento. Para efeito de um estudo em larga escala, torna-se inviável ou até mesmo impossível atingir em um tempo razoável.Além da organização compilável, não é tarefa simples entender exatamente qual código-fonte fez parte do binário final de um release.

Sendo assim, uma melhor abordagem foi extrair métricas usando os releases públicos e oficialmente disponíveis para download.

A ferramenta utilizada foi ckjm [6] - Chidamber and Kemerer Java Metrics. Essa ferramenta extrai métricas de classes Java compiladas,empacotadas em bibliotecas jar, sem a necessidade do código-fonte.

A ferramenta ckjm permite a integração com scripts ant [7]. Um script ant foi criado para executar o ckjm através de várias versões de vários sistemas, extraindo assim os dados analisados a seguir.

A Figura 1 mostra o fluxo seguido para obter os resultados a ser analisados.

Coleta de Dados


Para coleta de dados com oobjetivo de analisar a evolução de métricas ao longo das versões de sistemas, foi utilizada a última versão disponível no Qualitas Corpus [14], 20101126e. Além disso, foi escolhido o sistema Batik fora do Qualitas Corpus, a fim de diversificar as amostras.

Descompactação de cada versão para gerar a estrutura a ser analisada: Primeiramente, foram extraídas todas as versões de todos os sistemas...
tracking img