Inferência da Familiaridade de Código por Meio da Mineração de Repositórios de Software

  • Irvayne Matheus de Sousa Ibiapina UFPI
  • Francisco Vanderson de Moura Alves UFPI
  • Werney Ayala Luz Lira UFPI
  • Gleison de Andrade e Silva UFPI
  • Pedro de Alcântara dos Santos Neto UFPI

Resumo


O processo de desenvolvimento de software é algo complexo e, por esse motivo, é comum realizá-lo em equipe. Porém, o trabalho em equipe pode gerar problemas para uma organização. Um desses problemas é a existência de porções de código conhecidas apenas por um único desenvolvedor (ou por um grupo reduzido). Esse fato pode gerar grande dificuldade na manutenção de software. Por conta disso, é apresentado neste trabalho um conjunto de métricas e uma ferramenta, intitulada CoDiVision, que realiza mineração de dados de repositórios de código para inferir a familiaridade de cada desenvolvedor a um projeto. A CoDiVision foi avaliada por meio da análise de projetos de médio e grande porte e os resultados obtidos indicam que as métricas e a ferramenta podem ser importantes aliados ao desenvolvimento de software.

Referências

Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., et al. (2001). Manifesto for agile software development.

Fritz, T., Murphy, G. C., Murphy-Hill, E., Ou, J., and Hill, E. (2014). Degree-ofknowledge: Modeling a developer’s knowledge of code. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(2):14.

Hassan, A. E. (2008). The road ahead for mining software repositories. In Frontiers of Software Maintenance, 2008. FoSM 2008., pages 48–57. IEEE.

Mason, M. (2005). Pragmatic Version Control Using Subversion. Pragmatic Bookshelf.

Meng, X., Miller, B., Williams, W., and Bernat, A. (2013). Mining software repositories for accurate authorship. In Software Maintenance (ICSM), 2013 29th IEEE International Conference on, pages 250–259.

Moura, M. H. D. d., Nascimento, H. A. D. d., and Rosa, T. C. (2014). Extracting new metrics from version control system for the comparison of software developers. In Software Engineering (SBES), 2014 Brazilian Symposium on, pages 41–50. IEEE.

Sankoff, D. and Kruskal, J. B., editors (1983). Time Warps, String Edits, and Macromolecules: The Theory and Practice of Sequence Comparison. Addison-Wesley.

Spinellis, D. (2005). Version control systems. Software, IEEE, 22(5):108–109.

Teles, V. M. (2004). Extreme programming. São Paulo: Novatec.

Torchiano, M., Ricca, F., and Marchetto, A. (2011). Is my project’s truck factor low?: Theoretical and empirical considerations about the truck factor threshold. In Proceedings of the 2Nd International Workshop on Emerging Trends in Software Metrics, WETSoM ’11, pages 12–18, New York, NY, USA. ACM.
Publicado
28/08/2017
IBIAPINA, Irvayne Matheus de Sousa; ALVES, Francisco Vanderson de Moura; LIRA, Werney Ayala Luz; SILVA, Gleison de Andrade e; DOS SANTOS NETO, Pedro de Alcântara. Inferência da Familiaridade de Código por Meio da Mineração de Repositórios de Software. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 16. , 2017, Rio de Janeiro. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2017 . p. 104-118. DOI: https://doi.org/10.5753/sbqs.2017.15095.