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

dc.contributor.authorMelo, Glaucia
dc.contributor.authorOliveira, Toacy
dc.contributor.authorAlencar, Paulo
dc.contributor.authorCowan, Donald
dc.date.accessioned2026-05-06T13:07:26Z
dc.date.available2026-05-06T13:07:26Z
dc.date.issued2020-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.abstractSoftware 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.sponsorshipMITAS 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.urihttps://doi.org/10.1371/journal.pone.0243852
dc.identifier.urihttps://hdl.handle.net/10012/23214
dc.language.isoen
dc.publisherPublic Library of Science
dc.relation.ispartofseriesPLoS ONE; 15(12); e0243852
dc.relation.urihttps://github.com/glauciams/task2stackRapidMiner
dc.rightsAttribution 4.0 Internationalen
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/
dc.subjectsoftware development
dc.subjectcomputer software
dc.subjectdatabase searching
dc.subjectsoftware engineering
dc.subjectprogramming languages
dc.subjectinformation retrieval
dc.subjectlanguage
dc.subjectsource code
dc.titleKnowledge reuse in software projects: Retrieving software development Q&A posts based on project task similarity
dc.typeArticle
dcterms.bibliographicCitationMelo 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.affiliation1Faculty of Mathematics
uws.contributor.affiliation2David R. Cheriton School of Computer Science
uws.peerReviewStatusReviewed
uws.scholarLevelFaculty
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
journal.pone.0243852.pdf
Size:
1.88 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
4.47 KB
Format:
Item-specific license agreed upon to submission
Description: