Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Tese |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFU |
Texto Completo: | https://repositorio.ufu.br/handle/123456789/36237 https://doi.org/10.14393/ufu.te.2022.565 |
Resumo: | 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. |
id |
UFU_498863a7f918642d0d9b7fe5c4a29686 |
---|---|
oai_identifier_str |
oai:repositorio.ufu.br:123456789/36237 |
network_acronym_str |
UFU |
network_name_str |
Repositório Institucional da UFU |
repository_id_str |
|
spelling |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de buscaMining relevant solutions for programming tasks from search engine resultsTarefas de ProgramaçãoProgramming TasksMineração de Soluções RelevantesMining Relevant SolutionsMotores de BuscaSearch EnginesCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOComputaçãoEngenharia de sistemasFerramentas de busca na WebProgramadores de computadorSoftware 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.Tese (Doutorado)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.Universidade Federal de UberlândiaBrasilPrograma de Pós-graduação em Ciência da ComputaçãoMaia, Marcelo de Almeidahttp://lattes.cnpq.br/4915659948263445Figueiredo, Eduardohttp://lattes.cnpq.br/1265706528850746Kulesza, Uiráhttp://lattes.cnpq.br/0189095897739979Dorça, Fabiano Azevedohttp://lattes.cnpq.br/3944579737930998Silva, Flávio de Oliveirahttp://lattes.cnpq.br/3190608911887258Rocha, Adriano Mendonça2022-10-05T13:46:27Z2022-10-05T13:46:27Z2022-09-29info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfROCHA, 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.https://repositorio.ufu.br/handle/123456789/36237https://doi.org/10.14393/ufu.te.2022.565enghttp://creativecommons.org/licenses/by-nc-nd/3.0/us/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFUinstname:Universidade Federal de Uberlândia (UFU)instacron:UFU2022-10-06T06:18:17Zoai:repositorio.ufu.br:123456789/36237Repositório InstitucionalONGhttp://repositorio.ufu.br/oai/requestdiinf@dirbi.ufu.bropendoar:2022-10-06T06:18:17Repositório Institucional da UFU - Universidade Federal de Uberlândia (UFU)false |
dc.title.none.fl_str_mv |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca Mining relevant solutions for programming tasks from search engine results |
title |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
spellingShingle |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca Rocha, Adriano Mendonça Tarefas de Programação Programming Tasks Mineração de Soluções Relevantes Mining Relevant Solutions Motores de Busca Search Engines CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Computação Engenharia de sistemas Ferramentas de busca na Web Programadores de computador |
title_short |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
title_full |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
title_fullStr |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
title_full_unstemmed |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
title_sort |
Mineração de soluções relevantes para tarefas de programação a partir de resultados de mecanismos de busca |
author |
Rocha, Adriano Mendonça |
author_facet |
Rocha, Adriano Mendonça |
author_role |
author |
dc.contributor.none.fl_str_mv |
Maia, Marcelo de Almeida http://lattes.cnpq.br/4915659948263445 Figueiredo, Eduardo http://lattes.cnpq.br/1265706528850746 Kulesza, Uirá http://lattes.cnpq.br/0189095897739979 Dorça, Fabiano Azevedo http://lattes.cnpq.br/3944579737930998 Silva, Flávio de Oliveira http://lattes.cnpq.br/3190608911887258 |
dc.contributor.author.fl_str_mv |
Rocha, Adriano Mendonça |
dc.subject.por.fl_str_mv |
Tarefas de Programação Programming Tasks Mineração de Soluções Relevantes Mining Relevant Solutions Motores de Busca Search Engines CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Computação Engenharia de sistemas Ferramentas de busca na Web Programadores de computador |
topic |
Tarefas de Programação Programming Tasks Mineração de Soluções Relevantes Mining Relevant Solutions Motores de Busca Search Engines CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Computação Engenharia de sistemas Ferramentas de busca na Web Programadores de computador |
description |
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. |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-10-05T13:46:27Z 2022-10-05T13:46:27Z 2022-09-29 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
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. https://repositorio.ufu.br/handle/123456789/36237 https://doi.org/10.14393/ufu.te.2022.565 |
identifier_str_mv |
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. |
url |
https://repositorio.ufu.br/handle/123456789/36237 https://doi.org/10.14393/ufu.te.2022.565 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/us/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/us/ |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal de Uberlândia Brasil Programa de Pós-graduação em Ciência da Computação |
publisher.none.fl_str_mv |
Universidade Federal de Uberlândia Brasil Programa de Pós-graduação em Ciência da Computação |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFU instname:Universidade Federal de Uberlândia (UFU) instacron:UFU |
instname_str |
Universidade Federal de Uberlândia (UFU) |
instacron_str |
UFU |
institution |
UFU |
reponame_str |
Repositório Institucional da UFU |
collection |
Repositório Institucional da UFU |
repository.name.fl_str_mv |
Repositório Institucional da UFU - Universidade Federal de Uberlândia (UFU) |
repository.mail.fl_str_mv |
diinf@dirbi.ufu.br |
_version_ |
1805569587138265088 |