Facilitating Crowd Sourced Software Engineering via Stack Overflow

Ohad Barzilay, Christoph Treude, Alexey Zagalsky. Facilitating Crowd Sourced Software Engineering via Stack Overflow. In Finding Source Code on the Web for Remix and Reuse. pages 289-308, Springer, 2013. [doi]

Abstract

The open source community, as well as numerous technical blogs and community web sites, put online vast quantities of free source code, ranging from snippets to full-blown products. This code embodies the software development community’s domain knowledge, and mirrors the structure of the Internet: it is distributed rather than hierarchical; it is chaotic, incomplete, and inconsistent. StackOverflow.com is a Question and Answer (Q&A) website which uses social media to facilitate knowledge exchange between programmers by mitigating the pitfalls involved in using code from the Internet. Its design nurtures a community of developers, and enables crowd sourced software engineering activities ranging from documentation to providing useful, high quality code snippets to be used in production. In this chapter we review Stack Overflow from three perspectives: (1) its design and its social media characteristics, (2) the role it plays in the software documentation landscape, and (3) the use of Stack Overflow in the context of the example centric programming paradigm.