  Stack Overflow (SO) is the most popular question-and-answer website for
software developers, providing a large amount of code snippets and free-form
text on a wide variety of topics. Like other software artifacts, questions and
answers on SO evolve over time, for example when bugs in code snippets are
fixed, code is updated to work with a more recent library version, or text
surrounding a code snippet is edited for clarity. To be able to analyze how
content on SO evolves, we built SOTorrent, an open dataset based on the
official SO data dump. SOTorrent provides access to the version history of SO
content at the level of whole posts and individual text or code blocks. It
connects SO posts to other platforms by aggregating URLs from text blocks and
comments, and by collecting references from GitHub files to SO posts. In this
paper, we describe how we built SOTorrent, and in particular how we evaluated
134 different string similarity metrics regarding their applicability for
reconstructing the version history of text and code blocks. Based on different
analyses using the dataset, we present: (1) insights into the evolution of SO
posts, e.g., that post edits are usually small, happen soon after the initial
creation of the post, and that code is rarely changed without also updating the
surrounding text; (2) a qualitative study investigating the close relationship
between post edits and comments, (3) a first analysis of code clones on SO
together with an investigation of possible licensing risks. Finally, since the
initial presentation of the dataset, we improved the post block extraction and
our predecessor matching strategy.
