Use este identificador para citar ou linkar para este item:
http://repositorio.ufla.br/jspui/handle/1/11145
Registro completo de metadados
Campo DC | Valor | Idioma |
---|---|---|
dc.creator | Ramírez, Luisa Fernanda Hernández | - |
dc.date.accessioned | 2016-05-12T19:22:26Z | - |
dc.date.available | 2016-05-12T19:22:26Z | - |
dc.date.issued | 2016-05-12 | - |
dc.date.submitted | 2016-03-21 | - |
dc.identifier.citation | HERNÁNDEZ RAMÍREZ, L. F. API recommendation system in Software Engineering. 2016. 223 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2016. | pt_BR |
dc.identifier.uri | http://repositorio.ufla.br/jspui/handle/1/11145 | - |
dc.description.abstract | Software development depends on Application Programming Interfaces (APIs) to achieve their goals. However, choosing the right APIs remains as a difficult task for Software Engineers. In software engineering, recommendation systems are emerging to support Software Engineers in their decision-making tasks. Therefore, in this work, we proposed a methodology that considers software categories and recommends APIs to Software Engineers with software in initial (not using APIs) or advanced (using some APIs) stage of software development. We used collaborative filtering technique along with frequent Itemset mining technique for generating the corresponding large and top-N lists of APIs recommended. In the top-N lists, the goal was to find a few specific APIs that are supposed to be most useful to Software Engineers. In order to automate the methodology proposed, we developed a plug-in for the Eclipse IDE. In addition, we tested the methodology considering categories from the SourceForge open source repository. For every category, we evaluated large and top-N lists performance based on two classification accuracy metrics (precision and recall) and one efficacy metric (recall rate), obtaining promising outcomes. Thus, the results of evaluation metrics showed that our methodology could make useful API recommendations for Software Engineers with software that used a small number of APIs or did not use any API. Besides, our methodology was able to put relevant APIs even in high-ranking positions, even in small top-N lists of APIs recommended. | pt_BR |
dc.description.sponsorship | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) | pt_BR |
dc.language | eng | pt_BR |
dc.publisher | Universidade Federal de Lavras | pt_BR |
dc.rights | acesso aberto | pt_BR |
dc.subject | API recommendation | pt_BR |
dc.subject | Collaborative filtering | pt_BR |
dc.subject | Frequent itemset mining | pt_BR |
dc.subject | Evaluation metrics | pt_BR |
dc.subject | Recommendation system | pt_BR |
dc.subject | Recomendação de APIs | pt_BR |
dc.subject | Filtragem colaborativo | pt_BR |
dc.subject | Mineração de itens mais frequentes | pt_BR |
dc.subject | Métricas de avaliação | pt_BR |
dc.subject | Sistema de recomendação | pt_BR |
dc.title | API recommendation system in Software Engineering | pt_BR |
dc.title.alternative | Sistema de recomendação de API na engenharia de software | pt_BR |
dc.type | dissertação | pt_BR |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação | pt_BR |
dc.publisher.initials | UFLA | pt_BR |
dc.publisher.country | brasil | pt_BR |
dc.contributor.advisor1 | Costa, Heitor Augustus Xavier | - |
dc.contributor.referee1 | Valente, Marco Túlio de Oliveira | - |
dc.contributor.referee2 | Freire, André Pimenta | - |
dc.contributor.referee3 | Parreira Júnior, Paulo Afonso | - |
dc.description.resumo | Desenvolvimento de software depende Interfaces de Programação de Aplicações (APIs - Aplication Programming Interfaces) para atingir seus objetivos. No entanto, a escolha correta dessas APIs permanece como uma tarefa difícil para Engenheiros de Software. Na Engenharia de Software, os sistemas de recomendação estão surgindo para apoiar aos Engenheiros de Software nas tarefas de tomadas de decisões. Portanto, neste trabalho foi proposta uma metodologia que considera categorias de sistemas de software e recomenda APIs para engenheiros de Software com sistemas na etapa inicial (sistemas que não usam APIs) ou na etapa avançada (sistemas que usam algumas APIs) de desenvolvimento de software. As técnicas de Filtragem Colaborativa (CF -Collaborative Filtering) e de Mineração de Itens mais Frequentes (FIS - Frequent Itemset mining) foram utilizadas para gerar as listas longas e curtas (top-N) das APIs recomendadas. Nas listas curtas (top-N), o objetivo foi encontrar um número N de APIs especificas que possivelmente seriam mais uteis para os Engenheiros de Software. Para automatizar essa metodologia proposta foi desenvolvido um plug-in para a plataforma Eclipse. Além disso, a metodologia foi testada considerando as categorias do repositório de código aberto SourceForge. Para cada categoria, foi avaliado o desempenho das listas longas e listas curtas (top-N) usando duas métricas de acurácia (precision e recall) e uma métrica de eficácia (recall rate), obtendo resultados prometedores. Esses resultados das métricas de avaliação mostraram que a metodologia conseguiu fazer recomendações de APIs uteis para os Engenheiros de Software com sistemas de software que usavam algumas APIs o que não utilizavam APIs. Do mesmo modo, a metodologia foi capaz de colocar APIs relevantes em posições altas das listas, inclusive nas listas curtas de APIs recomendadas. | pt_BR |
dc.publisher.department | Departamento de Ciência da Computação | pt_BR |
dc.subject.cnpq | Engenharia de Software | pt_BR |
dc.creator.Lattes | http://lattes.cnpq.br/6599600733639808 | pt_BR |
Aparece nas coleções: | Ciência da Computação - Mestrado (Dissertações) |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
DISSERTAÇÃO_API recommendation system in Software Engineering.pdf | 2,54 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.