Interprocedural static analysis for Go with closure support

Authors

A. Borodin, V. Dvortsova and A. Volkov

PDF

Abstract

We present an interprocedural static analysis to detect errors in the Go source code. The analysis supports most of the language features, while the main focus of the paper is closures and defer statements. The analysis we have developed demonstrates good scalability and performance. It is able to analyze a project of 1.1 million lines in 12 minutes.