Scale By the Bay Scale By the Bay

Troubleshooting Techniques for Complex Codebases


Anatolii Kmetiuk
EPFL, Software Engineer

Anatolii Kmetiuk is a compiler engineer at LAMP/EPFL. He has been working in this role for 2 years now. Before that, he was a freelance contractor doing web applications and data science projects. Scala has been his language of choice for the past 8 years. In his current role, his interests lie in how to streamline frequently repeating operations within their unit and optimize the workflows they have.

Fixing issues in Scala 3 compiler codebase is hard. One part of it is, given an issue, to understand why it is happening, what in the codebase causes it. And this task is complicated because the compiler is big and complex. The challenge here is navigation and awareness of what's going on in the code.

To my experience, having the right setup makes a huge difference when doing pretty much any task. Abraham Lincoln is quoted with the following: "If I only had an hour to chop down a tree, I would spend the first 45 minutes sharpening my axe."

Over the last years, I spent some time thinking and playing with different setups to allow getting yourself to a root cause of an issue fast through the codebase. In this talk, I'd like to present what techniques reduce overhead when reproducing the issues and navigating the compiler codebase to trace them.