To understand large legacy systems we need to look beyond the current structure of the code. We need to understand both how the system evolves and how the people building it collaborate. In this session you'll learn to mine social information such as communication paths, developer knowledge and hotspots from source code repositories. It's information you use to improve both the design and the people-side of your codebase.
We'll start by investigating well-known codebases like Roslyn and Scala to see the wealth of information these methods deliver. After that we look at tooling support and how these techniques improve your existing practices and workflows. Finally you'll get tips on crafting your own tools as well as guidelines for when you'd like to do that. This is a new approach to software development - come join the hunt for better code!