Use este identificador para citar ou linkar para este item:
https://repositorio.ufpe.br/handle/123456789/40529
Compartilhe esta página
Registro completo de metadados
Campo DC | Valor | Idioma |
---|---|---|
dc.contributor.advisor | OLIVEIRA, Adriano Lorena Inácio de | - |
dc.contributor.author | PESSOA, Dinaldo Andrade | - |
dc.date.accessioned | 2021-07-13T17:05:36Z | - |
dc.date.available | 2021-07-13T17:05:36Z | - |
dc.date.issued | 2021-03-26 | - |
dc.identifier.citation | PESSOA, Dinaldo Andrade. Batch algorithms and fixed prediction rates for online Just-In-Time Software Defect Prediction. 2021. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2021. | pt_BR |
dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/40529 | - |
dc.description.abstract | Just-In-Time Software Defect Prediction (JIT-SDP) is aimed at predicting the presence of defects in code changes at the commit time instead of inspecting modules (i.e., files or packages) in offline mode, as performed in traditional Software Defect Prediction (SDP). In a real-world application of JIT-SDP, predictions must be done in an online fashion so that the developer is informed about the presence of defect as soon as the code change is submitted, providing to the developer the opportunity to further inspect the change while it is still fresh in one’s mind. On the other hand, the model training can be done in an online or a batch fashion, since this problem domain does not have real-time requirements. Regardless the type of training, it is important to note that the code change is not labeled immediately after its submission to the source code repository. The labelling time may take days or months, depending on the time spent by the software development team to find and fix each defect. So, the model must wait some time to trust in a label of a code change. And this amount of time is known as verification latency. Another challenge faced by a JIT-SDP model is the fluctuation of the class imbalance rate through time. This kind of concept drift is known as class imbalance evolution. This work investigates the use of batch algorithms for dealing with JIT-SDP in the context of verification latency and class imbalance evolution. In comparison to the state-of-the-art, which is based on online algorithms, our approach (BORB) achieved improvements between +2% and +11% on 9 of the 10 investigated datasets, in terms of g-mean. In only one dataset, BORB achieved a result inferior to the state-of-the-art approach, a decrease of −2% in terms of g-mean. Besides that, this work investigates the predictive performance in a context in which the model is constrained to output a fixed defect prediction rate. More specifically, the defect prediction rate is an online rate that corresponds to the number of predictions which return the defect class divided by the total of predictions in a time interval. And a fixed defect prediction rate means to constraint the model to maintain the specified rate over time. That said, the results of the experiments show that, under this constraint, methods with higher capability to maintain the defect prediction rate close to the fixed defect prediction set by the hyperparameter tuning also obtain a higher predictive performance in the testing data, i.e., there is a meaningful correlation between this capability and the predictive performance. The correlation coefficient between them is 0.44. This result, added to the simplicity of the approach, suggests that a fixed defect prediction rate may be used as a standard baseline to the problem of class imbalance evolution. | pt_BR |
dc.language.iso | eng | pt_BR |
dc.publisher | Universidade Federal de Pernambuco | pt_BR |
dc.rights | embargoedAccess | pt_BR |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | * |
dc.subject | Inteligência Computacional | pt_BR |
dc.subject | Predição de defeito de software | pt_BR |
dc.subject | Latência de verificação | pt_BR |
dc.subject | Desbalanceamento de classes | pt_BR |
dc.title | Batch algorithms and fixed prediction rates for online Just-In-Time Software Defect Prediction | pt_BR |
dc.type | masterThesis | pt_BR |
dc.contributor.advisor-co | CABRAL, George Gomes | - |
dc.contributor.authorLattes | http://lattes.cnpq.br/1723172237298787 | pt_BR |
dc.publisher.initials | UFPE | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.degree.level | mestrado | pt_BR |
dc.contributor.advisorLattes | http://lattes.cnpq.br/5194381227316437 | pt_BR |
dc.publisher.program | Programa de Pos Graduacao em Ciencia da Computacao | pt_BR |
dc.description.abstractx | Just-In-Time Software Defect Prediction (JIT-SDP) tem o objetivo de identificar a presença de defeitos em mudanças de código no momento do commit ao invés de inspecionar módulos (i.e., arquivos e pacotes) de maneira offline, como é realizado em Software Defect Prediction (SDP) tradicional. Em uma aplicação real de JIT-SDP, as predições devem ser feitas de forma online para que o desenvolvedor seja informado sobre a presença de defeito logo após a mudança de código ser submetida, provendo ao desenvolvedor a oportunidade de inspecionar a mudança enquanto ela ainda está fresca em sua mente. Por outro lado, o treinamento do modelo pode ser feito de forma online ou em lote, uma vez que este domínio de problema não possui requisitos de tempo real. Independente do tipo de treinamento, é importante notar que a mudança de código não é rotulada imediatamente após a sua submissão para o repositório de código fonte. O tempo de rotulagem pode levar dias ou meses, dependendo do tempo gasto pela equipe de desenvolvimento de software para descobrir e corrigir cada erro. Então, o modelo deve esperar um tempo para confiar no rótulo de uma mudança de código. E este período de tempo é conhecido como latência de verificação. Outro desafio enfrentado por um modelo de JIT-SDP é a flutuação da taxa de desbalanceamento das classes ao longo do tempo. Este tipo de mudança de conceito é conhecido como evolução no desbalanceamento das classes. Este trabalho investiga o uso de algoritmos em lote para lidar com JIT-SDP no contexto de latência de verificação e evolução no desbalanceamento das classes. Em comparação com o estado da arte, que é baseado em algoritmos online, nossa abordagem (BORB) alcançou melhorias entre +2% e +11% em 9 das 10 bases de dados investigadas, em termos de g-mean. Em apenas uma base de dados, BORB obteve um resultado inferior ao da abordagem estado da arte, uma baixa de −2% em termos de g-mean. Além disso, este trabalho investiga a performance preditiva em um contexto no qual o modelo é restrito a retornar uma taxa de predição de defeito fixa. Mais especificamente, a taxa de predição de defeito é uma taxa online que corresponde ao número de predições que retornam a classe de defeito dividido pelo total de predições em um intervalo de tempo. E a taxa de predição de defeito fixa significa restringir o modelo para manter a taxa especificada ao longo do tempo. Dito isso, os resultados dos experimentos mostraram que, submetido a esta restrição, métodos com mais capacidade de manter a taxa de predição de defeito próximo à taxa de predição fixa definida pela otimização de hiperparâmetros também obtém uma melhor performance preditiva no dados de teste, i.e., há uma correlação significativa entre esta capacidade e a performance preditiva. O coeficiente de correlação entre elas é 0.44. Este resultado, adicionado à simplicidade da abordagem, sugere que a taxa de predição de defeito fixa pode ser usada como uma linha de base padrão para o problema de evolução no desbalanceamento das classes. | pt_BR |
dc.contributor.advisor-coLattes | http://lattes.cnpq.br/8227256452129177 | pt_BR |
Aparece nas coleções: | Dissertações de Mestrado - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
DISSERTAÇÃO Dinaldo Andrade Pessoa.pdf | 4,91 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este arquivo é protegido por direitos autorais |
Este item está licenciada sob uma Licença Creative Commons