Please use this identifier to cite or link to this item:
https://hdl.handle.net/10216/83489| Author(s): | Paulo André Faria de Freitas |
| Title: | Software Repository Mining Analytics to Estimate Software Component Reliability |
| Issue Date: | 2015-07-03 |
| Abstract: | Finding 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. |
| Description: | Encontrar 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. |
| Subject: | Ciências da engenharia e tecnologias Engineering and technology |
| Scientific areas: | Ciências da engenharia e tecnologias Engineering and technology |
| DOI: | 10.34626/e095-qz79 |
| TID identifier: | 201315882 |
| URI: | https://hdl.handle.net/10216/83489 |
| Document Type: | Dissertação |
| Rights: | openAccess |
| License: | https://creativecommons.org/licenses/by-nc/4.0/ |
| Appears in Collections: | FEUP - Dissertação |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| 35994.pdf | Software Repository Mining Analytics to Estimate Software Component Reliability | 850.24 kB | Adobe PDF | ![]() View/Open |
This item is licensed under a Creative Commons License
