Mining Evolutionary Data

Version-control data is our software-development equivalent to spatial movement in geographical profiling. A version-control system—such as Subversion, Git, or Mercurial—records the steps each developer took. I focus on Git in my examples, but you can find an overview of how to mine data from other systems in the Code Maat documentation.[8]

The first codebase we’ll study is Code Maat. That’s right—we’ll use our analysis tool to analyze the tool itself. I’m a Lisp programmer—we love circular stuff like that.

To follow along with the examples, you need to clone the Code Maat repository[9] so that you have the complete source tree on your computer:

 
prompt>​ git clone https://github.com/adamtornhill/code-maat.git
 

Get Your Code as a Crime Scene now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.