Cppcheck developer (Daniel Marjamäki) is planning to add the capability to verify software in C and C++ to his static analyzer.
Software Verification in Cppcheck
In "verification" mode, Cppcheck will issue warnings if it fails to confirm that the code is safe, but this may lead to noise (multiple warnings).
Implementation Plans
The verification mode will be implemented incrementally. In the first phase, the focus will be on checking for "division by zero." This is a relatively simple check. Each function will be checked individually, assuming that all input values can be arbitrary. Checks for other types of undefined behavior will be added later. There are also plans to improve C and C++ syntax analysis.
Accelerating Development
The goal of the Kickstarter fundraising campaign is to accelerate the development of the verification mode. This feature is planned to be added regardless, but the work may take longer if funding is not secured. If funding is secured, Daniel will be able to take a leave from his main job to fully dedicate his work time to the Cppcheck project.
Project Goals
-
Fixing false positives (see BUG#9402).
Improving the C++ analyzer.
Source: linux.org.ru

