Beyond Code: Repository Mining with Clojure
summary
Shows a Clojure tool, codat, that mines VCS history with a pipes-and-filters pipeline to find actionable hotspots (one case: 4% of the code causes 72% of defects), computes temporal coupling to surface cross-module change patterns (an example where two files change together 83% of the time), and uses Instaparse tokenization to avoid memory blowups. Uses Incanter for rolling-mean churn charts and Quill + fractal figures to visualize multi-developer hotspots and parallel-development risks.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:06"Laws" of Software Evolution
- 2:24Motivation
- 3:23Complexity?
- 7:43Hotspots and Defects
- 9:08Why a Tool? Why Clojure?
- 10:58Evolutionary Metrics with Code Maat
- 11:44#1: Parsing VCS logs
- 12:18Parsing with Instaparse
- 14:11Parsing Large Datasets
- 16:55Temporal Coupling
- 19:06Logical Coupling in Clojure
- 20:37Analyzing Architectures
- 23:29Churn Patterns
- 25:27Churn Analysis with Incanter.Zoo
- 28:13Visualizations with Incanter
- 30:12Processing
- 31:36Visualize with Quil
- 34:28Clojure Fractal Figures
related talks
47mTreat Your Code as a Crime Scene
49mTreat Your Code as a Crime Scene
29mTaming A Monster With Git Driven Data
31mDebugging Clojure Code
36mCode as Data: How data insights on legacy codebases fill the knowledge gap in modernization projects
32mPractical code archaeology
31mMaking sense of frontend code with forensic techniques
21mNo Vibes Allowed: Solving Hard Problems in Complex Codebases
