Code as a Crime Scene: Fix Technical Debt with Behavioral Code Analysis

Adam Tornhill 1-Day Workshop
Wed, Sept 18

In this workshop you learn novel analysis techniques that support both technical and organizational decisions around your codebase. The techniques use data from the most underused informational source that we have in our industry: our version-control system. Combined with metaphors from forensic psychology you learn to analyze version-control data to:

  • Identify the code that’s most expensive to maintain amongst millions lines of code.
  • Detect architectural decay and learn to control it.
  • Analyse different architectures such as layers and microservices.
  • Measure how multiple developers influence code quality and what you can do about it.
  • Uncover the social side of your codebase and learn to use the data to guide on- and off-boarding.

During the workshop you get access to CodeScene – a project analysis tool that automates the analyses – which we use for the practical exercises. We also discuss open source alternatives such as Git for data mining and the Code Maat command line tool. Participants are encouraged to take this opportunity to analyse their own codebase and get specific take-away information around their system.

Workshop Style

Hands-on, bring your own laptop. The practical exercises use Git and CodeScene. Make sure you have a Git client and a Java run-time, version 8, installed on your laptop if you want to analyze your organization's private repositories.

This workshop has evolved over the past four years to reflect advances in behavioral code analysis. Since 2015, the teacher has delivered the workshop ~20 times. The workshop has received high grades on all conferences (8-10 on a scale 1-10).

The instructor has written two books on the subject, Your Code As A Crime Scene and Software Design X-Rays, and the workshop builds on those books.

Prerequisites

The workshop is language neutral. The target audience is architects, senior developers, and technical managers. While we won't write any code during the workshop, the participants need to be comfortable with reading code. Detailed preparations with installation instructions for the tools will be sent out in advance.