Caracterização da Complexidade Estrutural em Sistemas de Software Livre
Tese de Doutorado em Ciência da Computação, por Antonio Terceiro
Resumo
Esta tese apresenta uma caracterização da complexidade estrutural em sistemas de software livre, com objetivo de identificar (i) a contribuição de diversos fatores para a variação da complexidade estrutural e (ii) os efeitos da complexidade estrutural sobre projetos de software. Possíveis fatores na variação da complexidade estrutural incluem: fatores humanos, como experiência geral dos desenvolvedores e a sua familiaridade com as diferentes partes do sistema; fatores relacionados às mudanças realizadas no sistema, como variação no tamanho, espalhamento das mudanças; e fatores organizacionais, como maturidade do processo de desenvolvimento e a estrutura de comunicação do projeto. Efeitos da complexidade estrutural incluem maior esforço, e consequentemente maior custo, em atividades de compreensão e manutenção de software.
Para testar as possíveis causas da complexidade estrutural, foram realizados quatro estudos experimentais, utilizando mineração de dados em repositórios de projetos de software livre. Foram analisados dados históricos de mudanças realizadas em 13 sistemas de diferentes domínios de aplicação e escritos em diferentes linguagens de programação. Os resultados dos estudos realizados são sintetizados através de uma teoria que descreve causas e consequências da complexidade estrutural.
Os resultados indicaram que todos os fatores estudados influenciaram a variação da complexidade estrutural em pelo menos um dos projetos, mas projetos diferentes foram influenciados por conjuntos diferentes de fatores. Modelos construídos foram capazes de descrever até 93% da variação na complexidade estrutural nos projetos estudados.
Download do texto
Código fonte da tese
Código fonte dos estudos experimentais
Incluem datasets utilizados nos experimentos, código fonte da extração e análise dos dados, das análise estatísticas e dos gráficos, etc.
- Refined models for Structural Complexity Evolution (título provisório, estudo em desenvolvimento)
- Antonio Terceiro, Manoel Mendonça, Christina Chavez, Daniela S. Cruzes. “Understanding Structural Complexity Evolution: a Quantitative Analysis”. In: 16th European Conference on Software Maintenance and Reengineering, março de 2012.
- Antonio Terceiro, Luiz Romário Rios e Christina Chavez. “An Empirical Study on the Structural Complexity Introduced by Core and Peripheral Developers in Free Software Projects”. In: Brazilian Symposium on Software Engineeering - SBES, 2010, Salvador. Proceedings of the 24th Brazilian Symposium on Software Engineeering, 2010.
- Antonio Terceiro and Christina Chavez, “Structural Complexity Evolution in Free Software Projects: A Case Study”, in QACOS-OSSPL 2009: Proceedings of the Joint Workshop on Quality and Architectural Concerns in Open Source Software (QACOS) and Open Source Software and Product Lines (OSSPL), M. Ali Babar, B. Lundell, and F. van der Linden, Eds., 2009.