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 TamanhoFormato 
MineracaoSolucoesRelevantes.pdfTese3.43 MBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons