Goanna: Syntactic Software Model Checking [chapter]

Ralf Huuck, Ansgar Fehnker, Sean Seefried, Jörg Brauer
2008 Lecture Notes in Computer Science  
Goanna is an industrial-strength static analysis tool used in academia and industry alike to find bugs in C/C++ programs. Unlike existing approaches Goanna uses the off-the-shelf NuSMV model checker as its core analysis engine on a syntactic flow-sensitive program abstraction. The CTL-based model checking approach enables a high degree of flexibility in writing checks, scales to large number of checks, and can scale to large code bases. Moreover, the tool incorporates techniques from constraint
more » ... solving, classical data flow analysis and a CEGAR inspired counterexample based path reduction. In this paper we describe Goanna's core technology, its features and the relevant techniques, as well as our experiences of using Goanna on large code bases such as the Firefox web browser.
doi:10.1007/978-3-540-88387-6_17 fatcat:n7frxhem5veg7a4qehrh4vnzli