IKOS is a static analyzer for C/C++ based on the theory of Abstract Interpretation.
IKOS addresses the challenge of developing sound static analyzers by providing a reusable C++ library implementing state-of-the-art Abstract Interpretation data structures and algorithms. The tool includes control-flow graphs, fixpoint iterators, and numerical abstract domains that form the foundation for program analysis. Built on LLVM, IKOS implements scalable analyses to detect and prove the absence of runtime errors in C and C++ programs, reporting findings with classifications of safe, error, unreachable, or warning status for each analyzed statement.
IKOS suits teams building specialized static analyzers or those needing to verify the absence of undefined behaviors in C and C++ codebases. The tool is particularly valuable for projects where precision and scalability matter, as it allows specialization for specific application domains. Installation is straightforward on Linux and macOS through Homebrew, with Windows support available through WSL. The analyzer produces results in a database format and offers multiple ways to examine findings: direct terminal output, a command-line report viewer, or a web interface.
The project maintains active development with regular releases and troubleshooting documentation. The tool is released under the NASA Open Source Agreement and is supported by a dedicated contact email for user inquiries.