Studying the Role of Reusing Crowdsourcing Knowledge in Software Development
By: Rabe Abdalkareem
Potential Business Impact:
Helps coders build better software faster.
Crowdsourcing platforms, such as Stack Overflow, have changed and impacted the software development practice. In these platforms, developers share and reuse their software development and programming experience. Therefore, a plethora of research work focused on crowdsourcing in software engineering and showed that, among other things, crowdsourced development tends to increase developers' productivity and reduce time-to-market. However, in crowdsourcing, the empirical studies of software quality are lacking, and simple questions, such as what developers use the crowdsourcing knowledge for, are unanswered. Therefore, our research focused on studying the impact of reusing crowdsourcing knowledge on software projects. To do so, we conduct several large-scale empirical studies on some of the well-known crowdsourcing platforms, including Stack Overflow and npm. Our results showed that reusing knowledge from these crowdsourcing platforms has the potential to assist software development practice, specifically in the form of reusing crowdsourced code. However, using such knowledge affects the quality of the software in several aspects, such as making the software projects suffer from dependency overhead and increasing the maintenance effort. Based on these findings, we use the gained knowledge to make sound data-driven decisions where we examine software quality assurance methods to mitigate the risk of relying on crowd sourcing knowledge in software development. We examine the use of continuous integration (CI). Our analysis showed how CI can be improved to increase developers' productivity and save their resources.
Similar Papers
An Empirical Study of Java Code Improvements Based on Stack Overflow Answer Edits
Software Engineering
Improves computer code using online answers.
The Influence of Code Comments on the Perceived Helpfulness of Stack Overflow Posts
Software Engineering
Comments make code answers more helpful.
Towards a Knowledge Base of Common Sustainability Weaknesses in Green Software Development
Software Engineering
Helps programmers write eco-friendly computer code.