Use este identificador para citar ou linkar para este item:
https://repositorio.ufu.br/handle/123456789/36237
ORCID: | http://orcid.org/0000-0002-3797-1260 |
Tipo do documento: | Tese |
Tipo de acesso: | Acesso Aberto |
Título: | Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
Título(s) alternativo(s): | Mining relevant solutions for programming tasks from search engine results |
Autor(es): | Rocha, Adriano Mendonça |
Primeiro orientador: | Maia, Marcelo de Almeida |
Primeiro membro da banca: | Figueiredo, Eduardo |
Segundo membro da banca: | Kulesza, Uirá |
Terceiro membro da banca: | Dorça, Fabiano Azevedo |
Quarto membro da banca: | Silva, Flávio de Oliveira |
Resumo: | O desenvolvimento de software é uma atividade intensiva em conhecimento. Documentações oficiais para desenvolvedores podem não ser suficientes para todas as suas necessidades. A busca de informações na Web é uma prática usual, mas encontrar informações realmente úteis pode ser um desafio, pois nem sempre as melhores soluções estão entre as primeiras páginas ranqueadas. Assim, os desenvolvedores têm que ler e descartar páginas irrelevantes, ou seja, páginas que não possuem exemplos de código ou que possuem conteúdo não focado na solução desejada. Este trabalho tem como objetivo entender como a qualidade do ranking retornado por mecanismos de busca pode influenciar o desempenho de desenvolvedores durante a resolução de tarefas de programação, e propor uma abordagem para minerar soluções relevantes para tarefas de programação a partir de resultados de buscas. Em uma análise preliminar, avaliamos as 20 principais páginas retornadas pelo mecanismo de pesquisa do Google, para 10 consultas diferentes, e observamos que apenas 31% das páginas avaliadas são relevantes para desenvolvedores. Diante disso, realizamos um primeiro estudo com desenvolvedores que mostrou que estes gastaram menos tempo durante a resolução de tarefas de programação, ao utilizarem um ranking de qualidade superior (em média, os desenvolvedores gastaram por volta de 4 minutos a mais, durante a resolução das tarefas, ao utilizarem um ranking de qualidade inferior). Em um segundo estudo, propusemos e avaliamos três abordagens diferentes para minerar páginas relevantes retornadas pelo mecanismo de busca. Os filtros propostos se mostraram eficazes na remoção de páginas irrelevantes, e desta forma, melhoraram a qualidade do ranking. Concluímos que desenvolvedores podem se beneficiar desses filtros, de maneira a aumentar sua produtividade durante realizações de tarefas de programação. |
Abstract: | Software development is a knowledge-intensive activity. Official documentation for developers may not be sufficient for all developer needs. Searching for information on the web is a usual practice, but finding really useful information may be challenging, because the best solutions are not always among the first ranked pages. So, developers have to read and discard irrelevant pages, that is, pages that do not have code examples or that have content not focused on the desired solution. This work aims to understand how the ranking quality returned by search engines can influence the performance of developers when solving programming tasks, and to propose an approach to mine relevant solutions for programming tasks from search engines results. In a preliminary analysis, we evaluated the top 20 pages returned by Google’s search engine, for 10 different queries, and observed that only 31% of the pages evaluated are relevant to developers. Therefore, we carried out a first study with developers that showed that they spent less time solving programming tasks, when using a higher quality ranking (on average, developers spent around 4 minutes more during solving tasks, when using a lower quality ranking). In a second study, we proposed and evaluated three different approaches to mine relevant pages returned by the search engine. The Google search engine that was used as a baseline returns a fair number of pages that are irrelevant to developers. The filters we propose are effective in removing irrelevant pages, in this way, a better quality ranking is generated. Developers can benefit from these filters in order to increase their productivity while performing programming tasks. |
Palavras-chave: | Tarefas de Programação Programming Tasks Mineração de Soluções Relevantes Mining Relevant Solutions Motores de Busca Search Engines |
Área(s) do CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
Assunto: | Computação Engenharia de sistemas Ferramentas de busca na Web Programadores de computador |
Idioma: | eng |
País: | Brasil |
Editora: | Universidade Federal de Uberlândia |
Programa: | Programa de Pós-graduação em Ciência da Computação |
Referência: | ROCHA, Adriano Mendonça. Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca. 2022. 91 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2022. DOI https://doi.org/10.14393/ufu.te.2022.565. |
Identificador do documento: | https://doi.org/10.14393/ufu.te.2022.565 |
URI: | https://repositorio.ufu.br/handle/123456789/36237 |
Data de defesa: | 29-Set-2022 |
Aparece nas coleções: | TESE - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
MineracaoSolucoesRelevantes.pdf | Tese | 3.43 MB | Adobe PDF | Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons