Static analysis
NIKOS
NIKOS is a static analyzer for C and C++ based on abstract interpretation. It is a fork of IKOS, developed by the NASA Ames Research Center, with additional checkers.
The licence is NOSA 1.3.
# Analyze a C file
ikos example.c
# Render the results
ikos-report output.db
ikos example.c
# Render the results
ikos-report output.db
Analysis and reports
The driver compiles C or C++ to LLVM bitcode and runs the analysis pipeline.
Results are stored in an SQLite database.
Checkers
NIKOS adds taint, concurrency, use-after-free and use-after-move checkers to the IKOS set.
Reports
ikos-report renders text, JSON, SARIF, JUnit and CSV. ikos-view renders HTML.
Limits
The concurrency checker uses intraprocedural lockset analysis and reports warnings. See the precise semantics and limitations of each checker.