Aprendizagem de máquina para análise de indicadores em processos de software - Bodo, Leandro [UNESP] (Universidade Estadual Paulista (Unesp), 2015)
Software development companies have been facing problems and challenges in relation to software quality for decades. Quality management involves three basic processes: quality planning, quality assurance and quality control. The quality control process provides information to evaluate the performance and changes in projects, processes or products. For this, performance indicators should be defined and analyzed in order to help decision-making. During the monitoring of the software production processes, data of the performance indicators is collected and stored in historical bases in order to be analyzed by the managers of the processes. Statistical quality control techniques aid the evaluation of the collected data. However, some aspects complicate the appropriate analysis to timely decision-making. The quality control may require analyzing groups of indicators, composed of indicators of various processes and with different granularity, types and collect frequency. Furthermore, as the volume of indicator data increases, the complexity of analysis also tends to increase. In this context, this work presents a systematic for analysis of performance indicators, using semi-supervised machine learning techniques.This systematic consists of steps that cover the selection of indicators, the process of labeling and the analysis of data collected in monitoring. In addition, the work presents a reference model to support the selection of indicators, considering the processes of the levels G and F of the MPS model for software (MPS-SW). The other developed reference model is based on the perspectives of the Balanced Scorecard model, in order to support the definition of groups of indicators. The labeling process and the data analysis process are done in a single step. Information visualization techniques are used to support the labeling process. The work presents a case study on the systematic presented, using real data from a software development ...

As organizações produtoras de software vêm enfrentando problemas e desafios em relação à qualidade do software há muitas décadas. O gerenciamento da qualidade envolve três processos básicos: planejamento da qualidade, garantia da qualidade e controle da qualidade. O processo de controle da qualidade provê informações para avaliação do desempenho e mudanças nos projetos, processos ou produtos. Para isso, indicadores de desempenho devem ser definidos e analisados para apoiar as tomadas de decisão. Durante o monitoramento dos processos da produção de software, dados dos indicadores de desempenho são coletados e armazenados em bases históricas para serem analisados pelos administradores dos processos. Técnicas de controle estatístico da qualidade auxiliam a avaliação dos dados coletados. Contudo, alguns aspectos dificultam a análise adequada para as tomadas de decisão em tempo hábil. O controle da qualidade pode requerer análise de grupos de indicadores, compostos por indicadores de vários processos e de diferentes granularidades, tipos e frequencias de coleta. Além disso, à medida que o volume de dados dos indicadores aumenta, a complexidade das análises também tende a aumentar. Nesse contexto, este trabalho apresenta uma sistemática para análise dos indicadores de desempenho, utilizando técnicas de aprendizado de máquina semi-supervisionado. Essa sistemática é composta por etapas que abrangem a seleção dos indicadores, o processo de rotulagem e a análise dos dados coletados no monitoramento. Adicionalmente, o trabalho apresenta um modelo de referência para apoiar a seleção dos indicadores, baseado nos processos dos níveis G e F do modelo de qualidade MPS-SW. Outro modelo de referência desenvolvido é baseado nas perspectivas do modelo Balanced Scorecard, com a finalidade de apoiar a definição de grupos de indicadores. Os processos de rotulagem e análise dos dados são feitos em um único passo...
Keywords: Computer science; Ciência da computação; Engenharia de software; Engenharia de requisitos; Software - Controle de qualidade; Desempenho - Medição; Aprendizado do computador