Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
| dc.contributor.author | Melo, Glaucia | |
| dc.contributor.author | Oliveira, Toacy | |
| dc.contributor.author | Alencar, Paulo | |
| dc.contributor.author | Cowan, Donald | |
| dc.date.accessioned | 2026-05-06T13:07:26Z | |
| dc.date.available | 2026-05-06T13:07:26Z | |
| dc.date.issued | 2020-12-17 | |
| dc.description | © 2020 Melo et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. | |
| dc.description.abstract | 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. | |
| dc.description.sponsorship | MITAS Accelerate, IT11814 || Natural Sciences and Engineering Research Council of Canada (NSERC) || Centre for Community Mapping (COMAP) || Emerging Leaders in the Americas, Global Affairs Canada (ELAP). | |
| dc.identifier.uri | https://doi.org/10.1371/journal.pone.0243852 | |
| dc.identifier.uri | https://hdl.handle.net/10012/23214 | |
| dc.language.iso | en | |
| dc.publisher | Public Library of Science | |
| dc.relation.ispartofseries | PLoS ONE; 15(12); e0243852 | |
| dc.relation.uri | https://github.com/glauciams/task2stackRapidMiner | |
| dc.rights | Attribution 4.0 International | en |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | |
| dc.subject | software development | |
| dc.subject | computer software | |
| dc.subject | database searching | |
| dc.subject | software engineering | |
| dc.subject | programming languages | |
| dc.subject | information retrieval | |
| dc.subject | language | |
| dc.subject | source code | |
| dc.title | Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity | |
| dc.type | Article | |
| dcterms.bibliographicCitation | Melo G, Oliveira T, Alencar P, Cowan D (2020) Knowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity. PLoS ONE 15(12): e0243852. https://doi.org/10.1371/journal.pone.0243852 | |
| uws.contributor.affiliation1 | Faculty of Mathematics | |
| uws.contributor.affiliation2 | David R. Cheriton School of Computer Science | |
| uws.peerReviewStatus | Reviewed | |
| uws.scholarLevel | Faculty | |
| uws.typeOfResource | Text | en |