Construção de um classificador automático de severidade de bugs para sistemas open source


Autoria(s): Sousa, Cláudio Ribeiro de
Contribuinte(s)

Maia, Marcelo de Almeida

http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4791753E8

Julia, Stéphane

http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4796960H1

Song, Mark Alan Junho

http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4798613U6

Data(s)

27/07/2016

27/07/2016

11/03/2016

11/03/2016

Resumo

Software bug analysis is one of the most important activities in Software Quality. The rapid and correct implementation of the necessary repair influence both developers, who must leave the fully functioning software, and users, who need to perform their daily tasks. In this context, if there is an incorrect classification of bugs, there may be unwanted situations. One of the main factors to be assigned bugs in the act of its initial report is severity, which lives up to the urgency of correcting that problem. In this scenario, we identified in datasets with data extracted from five open source systems (Apache, Eclipse, Kernel, Mozilla and Open Office), that there is an irregular distribution of bugs with respect to existing severities, which is an early sign of misclassification. In the dataset analyzed, exists a rate of about 85% bugs being ranked with normal severity. Therefore, this classification rate can have a negative influence on software development context, where the misclassified bug can be allocated to a developer with little experience to solve it and thus the correction of the same may take longer, or even generate a incorrect implementation. Several studies in the literature have disregarded the normal bugs, working only with the portion of bugs considered severe or not severe initially. This work aimed to investigate this portion of the data, with the purpose of identifying whether the normal severity reflects the real impact and urgency, to investigate if there are bugs (initially classified as normal) that could be classified with other severity, and to assess if there are impacts for developers in this context. For this, an automatic classifier was developed, which was based on three algorithms (Näive Bayes, Max Ent and Winnow) to assess if normal severity is correct for the bugs categorized initially with this severity. The algorithms presented accuracy of about 80%, and showed that between 21% and 36% of the bugs should have been classified differently (depending on the algorithm), which represents somewhere between 70,000 and 130,000 bugs of the dataset.

Dissertação (Mestrado)

A análise de bugs de software é uma das atividades mais importantes na Qualidade de Software. A rápida e correta implementação do reparo necessário tem influência tanto para os desenvolvedores, que devem deixar o software funcionando plenamente, quanto para os usuários, que precisam executar suas tarefas diárias. Neste contexto, caso haja incorreta caracterização no relato dos bugs, podem ocorrer situações indesejadas. Um dos principais fatores a serem atribuídos ao bug no ato de seu relato inicial é severidade, que diz respeito à urgência da correção aquele problema. Diante deste cenário, identificou-se em conjuntos de dados bugs extraídos de cinco sistemas open source (Apache, Eclipse, Kernel, Mozilla e Open Office), que há uma distribuição não uniforme dos bugs com relação às severidades existentes nesta amostra, o que é um indícioinicial de má classificação. Nos dados analisados existe uma taxa de cerca de 85% de bugs sendo classificados com apenas a severidade normal. Logo, esta taxa de classificação pode influenciar negativamente no contexto do desenvolvimento do software, em que o bug mal classificado pode ser alocado para um desenvolvedor com pouca experiência para poder resolvê-lo e assim, a correção do mesmo pode demorar, ou ainda gerar uma implementação incorreta. Vários trabalhos na literatura tem desconsiderado os bugs normais, trabalhando apenas com a porção de bugs considerados severos ou não severos inicialmente. Este trabalho teve como principal objetivo investigar esta porção dos dados, com finalidade de identificar se a severidade normal reflete a real urgência de correção do bug, investigar se existem bugs (classificados inicialmente como normais) que poderiam ser classificados com outra severidade, além de avaliar se há impactos para os desenvolvedores neste sentido. Para isso, foi desenvolvido um classificador automático, que baseou-se em três algoritmos(Näive Bayes, Max Ent e Win now) para aferir se a severidade normal está correta para os bugs assim categorizados inicialmente. Os algoritmos apresentaram a curácia de cerca de 80%,e mostraram que entre 21% e 36% dos bugs deveriam ter sido classificados de outra forma(dependendo do algoritmo), o que representa algo entre 70.000 e 130.000 bugs da amostra coletada.

Identificador

SOUSA, Cláudio Ribeiro de. Construção de um classificador automático de severidade de bugs para sistemas open source. 2016. 72 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2016.

https://repositorio.ufu.br/handle/123456789/17552

Idioma(s)

por

Publicador

Universidade Federal de Ubelândia

Brasil

Programa de Pós-graduação em Ciência da Computação

Direitos

Acesso Aberto

Palavras-Chave #Computação #Software - Qualidade - Controle #Software - Testes #Qualidade de software #Bug trackers #Repositório de bugs #Severidade de bugs #Software quality #Bug repository #Bug severity #CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Tipo

Dissertação