Skip to content

[Academic] Software Repository Mining Analytics to Estimate Software Component Reliability

Notifications You must be signed in to change notification settings

atduarte/master-thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Repository Mining for Estimating Software Component Reliability

Faculdade de Engenharia da Universidade do Porto

Autor: André Duarte - [email protected]
Orientador: Rui Maranhão - [email protected]
Co-orientador: Alexandre Perez - [email protected]

Resumo

Dada a crescente necessidade de identificar a localização dos erros no código fonte de software, de forma a facilitar o trabalho dos programadores e a acelerar o processo de desenvolvimento, muitos avanços têm sido feitos na sua automação.

Existem três abordagens principais: Program-spectra based (PSB), Model-based diagnosis (MDB) e Program slicing.

Barinel, solução que integra tanto o PSB como o MDB, é, até hoje, com base na investigação feita, a que apresenta melhores resultados. Contudo, a ordenação de conjuntos de candidatos (componentes faltosos) não tem em conta a verdadeira qualidade do componente em causa, devido à dificuldade da sua determinação.

Com esta tese pretende-se colmatar esta falha e contribuir para uma melhor ordenação dos conjuntos, classificando, com recurso a técnicas de Machine Learning como Decision Trees, Support Vector Machines (SVM) ou Random Forests, a qualidade e fiabilidade de cada componente, através das informações disponíveis no sistema de controlo de versões (Software Repository Mining), neste caso Git, como por exemplo: número de vezes que foi modificado, número de contribuidores, data de última alteração e tamanho das alterações.

A investigação já feita, revelou a existência de algumas soluções de análise preditiva de software, como BugCache, FixCache e Change Classification, capazes de identificar componentes com grande probabilidade de falhar e de classificar as revisões (commits) como faltosas ou não, mas nenhuma soluciona o problema.

Este trabalho visa a integração desta solução com o Crowbar e contribuição para a sua possível comercialização.

Palavras-chave: Software-fault Localization, Software Repository Mining, Machine Learning, Classification

Classificação: Software and its engineering - Software creation and management - Software verification and validation; Computing methodologies - Machine Learning - Machine Learning Approaches

About

[Academic] Software Repository Mining Analytics to Estimate Software Component Reliability

Resources

Stars

Watchers

Forks

Packages

No packages published