Reading source code is not really doable once you hit the tens of thousands of lines of code. It’s even more hopeless at millions of them. Yet, analysis tools that can summarise this information struggle just as much as humans do. So how do we build tools that can handle such ginormous codebases, anyway?
In this talk we’ll take a practical (but superficial) look at some of the algorithms involved in the making of Glass, a static analysis tool developed at Klarna, and the optimisations that allow providing answers to analysis in real-time for IDEs, and reasonable-time for build/CI tools.
- µKanren: A Minimal Functional Core for Relational Programming — Jason Hemman and Daniel P. Friedman (2013)
- How Developers Search for Code: A Case Study — Caitlin Sadowski, Kathryn T. Stolee, and Sebastian Elbaum (2015)
- Adapton: Composable, Demand-Driven Incremental Computation — Matthew A. Hammer, Khoo Yit Phang, Michael Hicks, and Jeffrey S. Foster (2014)