Please use this identifier to cite or link to this item: https://hdl.handle.net/10216/83489
Full metadata record
DC FieldValueLanguage
dc.creatorPaulo André Faria de Freitas
dc.date.accessioned2025-11-06T15:54:14Z-
dc.date.available2025-11-06T15:54:14Z-
dc.date.issued2015-07-03
dc.date.submitted2015-08-25
dc.identifier.othersigarra:35994
dc.identifier.urihttps://hdl.handle.net/10216/83489-
dc.descriptionEncontrar e corrigir bugs em Software tem um grande custo e impacto no esforço em desenvolver Software. Os repositórios escondem informação preditiva sobre o histórico de Software que pode ser explorada recorrendo a técnicas de análise e de machine learning. A investigação atual de Mining Software Repositories (MSR) é capaz de classificar e listar componentes defeituosos com a granularidade ao nível do ficheiro. Os nossos objetivos são prever defeitos em Software com a granularidade até ao método, ao minar repositórios, e melhorar as técnicas de localização de falhas atuais com os resultados da previsão de defeitos. Foi implementada uma ferramenta denominada de Schwa, disponível livremente no Github, que é capaz de analisar repositórios Git. Para Java e outras linguagens conseguimos chegar à granularidade ao nível do método e ficheiro, respectivamente. Métricas como as revisões, correcções de bugs e autores são analisadas e usadas para alimentar o modelo de previsão com relevância temporal. Esta tese faz as seguintes contribuições: um método para interpretar e representar diffs de patches com a granularidade ao método; um modelo para calcular probabilidades de defeito; uma framework para minar repositórios de Software; uma técnica para aprender a importância das métricas analisadas; um método para avaliar o ganho de usar as probabilidade de defeito em localização de falhas.
dc.description.abstractFinding and fixing software bugs is expensive and has a significant impact in Software development effort. Repositories have hidden predictive information about Software history that can be explored using analytics and machine learning techniques. Current research in Mining Software Repositories (MSR) is capable of ranking and listing faulty components at the file granularity. Our goals are predicting Software defects with method granularity, by mining repositories, and improve current fault localization techniques with the results from defect prediction. We have implemented a tool called Schwa, available for free on Github, that is capable of analyzing Git repositories. For Java and others languages we achieved method and file granularity, respectively. Metrics such as revisions, fixes and authors are tracked and used to feed the prediction model with time relevance. This thesis does the following contributions: a method to parse and represent diffs from patches with method granularity; a model to compute defect probabilities; a framework for mining Software repositories; a technique to learn the importance of tracked metrics; a method to evaluate the gain of using defect probabilities in fault localization.
dc.language.isoeng
dc.rightsopenAccess
dc.rights.urihttps://creativecommons.org/licenses/by-nc/4.0/
dc.subjectCiências da engenharia e tecnologias
dc.subjectEngineering and technology
dc.titleSoftware Repository Mining Analytics to Estimate Software Component Reliability
dc.typeDissertação
dc.contributor.uportoFaculdade de Engenharia
dc.identifier.doi10.34626/e095-qz79
dc.identifier.tid201315882
dc.subject.fosCiências da engenharia e tecnologias
dc.subject.fosEngineering and technology
thesis.degree.disciplineMestrado Integrado em Engenharia Informática e Computação
thesis.degree.grantorFaculdade de Engenharia
thesis.degree.grantorUniversidade do Porto
thesis.degree.level1
Appears in Collections:FEUP - Dissertação

Files in This Item:
File Description SizeFormat 
35994.pdfSoftware Repository Mining Analytics to Estimate Software Component Reliability850.24 kBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons