Cargando…

Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity

Software developers need to cope with a massive amount of knowledge throughout the typical life cycle of modern projects. This knowledge includes expertise related to the software development phases (e.g., programming, testing) using a wide variety of methods and tools, including development methodo...

Descripción completa

Detalles Bibliográficos
Autores principales: Melo, Glaucia, Oliveira, Toacy, Alencar, Paulo, Cowan, Donald
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7745967/
https://www.ncbi.nlm.nih.gov/pubmed/33332398
http://dx.doi.org/10.1371/journal.pone.0243852
_version_ 1783624696571363328
author Melo, Glaucia
Oliveira, Toacy
Alencar, Paulo
Cowan, Donald
author_facet Melo, Glaucia
Oliveira, Toacy
Alencar, Paulo
Cowan, Donald
author_sort Melo, Glaucia
collection PubMed
description Software developers need to cope with a massive amount of knowledge throughout the typical life cycle of modern projects. This knowledge includes expertise related to the software development phases (e.g., programming, testing) using a wide variety of methods and tools, including development methodologies (e.g., waterfall, agile), software tools (e.g., Eclipse), programming languages (e.g., Java, SQL), and deployment strategies (e.g., Docker, Jenkins). However, there is no explicit integration of these various types of knowledge with software development projects so that developers can avoid having to search over and over for similar and recurrent solutions to tasks and reuse this knowledge. Specifically, Q&A sites such as Stack Overflow are used by developers to share software development knowledge through posts published in several categories, but there is no link between these posts and the tasks developers perform. In this paper, we present an approach that (i) allows developers to associate project tasks with Stack Overflow posts, and (ii) recommends which Stack Overflow posts might be reused based on task similarity. We analyze an industry dataset, which contains project tasks associated with Stack Overflow posts, looking for the similarity of project tasks that reuse a Stack Overflow post. The approach indicates that when a software developer is performing a task, and this task is similar to another task that has been associated with a post, the same post can be recommended to the developer and possibly reused. We believe that this approach can significantly advance the state of the art of software knowledge reuse by supporting novel knowledge-project associations.
format Online
Article
Text
id pubmed-7745967
institution National Center for Biotechnology Information
language English
publishDate 2020
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-77459672020-12-31 Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity Melo, Glaucia Oliveira, Toacy Alencar, Paulo Cowan, Donald PLoS One Research Article Software developers need to cope with a massive amount of knowledge throughout the typical life cycle of modern projects. This knowledge includes expertise related to the software development phases (e.g., programming, testing) using a wide variety of methods and tools, including development methodologies (e.g., waterfall, agile), software tools (e.g., Eclipse), programming languages (e.g., Java, SQL), and deployment strategies (e.g., Docker, Jenkins). However, there is no explicit integration of these various types of knowledge with software development projects so that developers can avoid having to search over and over for similar and recurrent solutions to tasks and reuse this knowledge. Specifically, Q&A sites such as Stack Overflow are used by developers to share software development knowledge through posts published in several categories, but there is no link between these posts and the tasks developers perform. In this paper, we present an approach that (i) allows developers to associate project tasks with Stack Overflow posts, and (ii) recommends which Stack Overflow posts might be reused based on task similarity. We analyze an industry dataset, which contains project tasks associated with Stack Overflow posts, looking for the similarity of project tasks that reuse a Stack Overflow post. The approach indicates that when a software developer is performing a task, and this task is similar to another task that has been associated with a post, the same post can be recommended to the developer and possibly reused. We believe that this approach can significantly advance the state of the art of software knowledge reuse by supporting novel knowledge-project associations. Public Library of Science 2020-12-17 /pmc/articles/PMC7745967/ /pubmed/33332398 http://dx.doi.org/10.1371/journal.pone.0243852 Text en © 2020 Melo et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Melo, Glaucia
Oliveira, Toacy
Alencar, Paulo
Cowan, Donald
Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
title Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
title_full Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
title_fullStr Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
title_full_unstemmed Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
title_short Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
title_sort knowledge reuse in software projects: retrieving software development q&a posts based on project task similarity
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7745967/
https://www.ncbi.nlm.nih.gov/pubmed/33332398
http://dx.doi.org/10.1371/journal.pone.0243852
work_keys_str_mv AT meloglaucia knowledgereuseinsoftwareprojectsretrievingsoftwaredevelopmentqapostsbasedonprojecttasksimilarity
AT oliveiratoacy knowledgereuseinsoftwareprojectsretrievingsoftwaredevelopmentqapostsbasedonprojecttasksimilarity
AT alencarpaulo knowledgereuseinsoftwareprojectsretrievingsoftwaredevelopmentqapostsbasedonprojecttasksimilarity
AT cowandonald knowledgereuseinsoftwareprojectsretrievingsoftwaredevelopmentqapostsbasedonprojecttasksimilarity