Chapter

Finding Source Code on the Web for Remix and Reuse

pp 289-308

Facilitating Crowd Sourced Software Engineering via Stack Overflow

  • Ohad BarzilayAffiliated withBlavatnik School of Computer Science, Tel-Aviv University Email author 
  • , Christoph TreudeAffiliated withDepartment of Computer Science, University of Victoria
  • , Alexey ZagalskyAffiliated withBlavatnik School of Computer Science, Tel-Aviv University

* Final gross prices may vary according to local VAT.

Get Access

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.