Overview of Static Analysis Tools
masterVarious tools are available for catching bugs and code smells in C++:
- SonarLint / SonarQube / SonarCloud: SonarLint is an IDE plugin; SonarQube/SonarCloud run in build pipelines to gate PRs.
- Clang-based tools:
clang-tidy(linting),clang-check, andinclude-what-you-use(header management). - Coverity Scan: Integrates with CI (Travis CI, AppVeyor) for automated analysis.
- PVS-Studio: Specialized bug detection for C/C++ and C#.
- cppclean: Focuses on problems that slow down large codebases.
- CppDepend: Visualizes code dependencies and manages design rules.
- Clang's Static Analyzer: Can be used via
scan-buildfrom CMake or throughCodeChecker. - OCLint: Open-source tool for improving code quality.
- IKOS: NASA-developed analyzer based on Abstract Interpretation.