TLDR Web Dev · ARTICLES & TUTORIALS

NILAWAY: PRACTICAL NIL PANIC DETECTION FOR GO

uber.com10 min read

Summary from the TLDR Web Dev newsletter

Uber has extensively adopted Go for backend services, leading to a massive Go codebase with 90 million lines of code. Pointers, a fundamental aspect of Go, are used for efficient memory management and data manipulation, but can cause nil panics, a common runtime error. To address this, Uber developed NilAway, an automated tool for detecting nil panics using sophisticated static analysis. NilAway, now open-sourced, has been effective in Uber's large Go monorepo, significantly reducing runtime errors caused by nil panics.