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...
Autores principales: | , , , |
---|---|
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 |