We’re excited to introduce Codee 2025.4. This release brings new capabilities to enhance correctness, modernization, security, portability, and optimization simulation software written in Fortran/C/C++. This version brings improvements to both Codee Analyzer, offering Incremental Static Analysis features that speed up the analysis runtime and significantly improve the user experience, and Codee Formatter, promoting Fixed-Form Fortran format support to Beta status.
Codee Analyzer — What’s New
New Incremental Static Analysis: Speed up Codee Runtime
For the first time, Codee brings Incremental Static Analysis capabilities that significantly reduce the Codee tool runtime by detecting source code changes, storing analysis results in a database, and reanalyzing code changes only reusing cached results.
- Dependency manager: It explores and builds internal representations of the dependency graph. For Fortran, it additionally reorders the list of compiler invocations in the compilation database in order to make sure that every source file has its module dependencies satisfied. This is required for a successful Codee analysis.
- Detection of source code changes: Codee now keeps track of the source files that have changed from a previous Codee analysis, by comparing current hashes with the previous ones stored in an internal database.
- Dependencies caching: Whenever Codee is invoked for a specific target file, the processing of its dependencies can be skipped by using preprocessed data retrieved from the cache, provided those dependencies have not changed.
New Correctness Verification Capabilities: Detection of Undefined Behavior
Enhanced source code verification capabilities which improve the detection of subtle correctness issues that can result in undefined behavior, including uninitialized or improperly initialized variables.
- New Codee checker: PWR080: Conditionally initialized variables can lead to undefined behavior.
- New AutoFix variant PWR072: Explicitly declare the ‘save’ attribute or split the variable initialization to prevent unintended behavior, with an AutoFix for each proposed solution, either split initialization from the declaration, or adding the explicit
saveattribute.
New Security Capabilities: SAST Screening Report
The codee screening --sast report summarizes the analysis results of all the security checkers, showing references to CWEs (default) and other secure coding standards.
Other Enhancements
- Improvements to checkers related to misuse of Fortran’s implicit typing mechanisms:
- Upgraded LLVM toolchain to v21.1.0-rc1 and Flang HLFIR enabled, improving stability and Fortran code coverage.
- New
rewrite --alloption to apply all AutoFixes at once. - Added
--stop-on-errorflag, bug fixes, and various usability improvements. - Clearer user messages indicating the current analysis step among all the steps involved.
Codee Formatter — What’s New
- Fortran Fixed-Form format promoted from experimental to Beta status.
- Updated
--verbosemode:- Show whether each diagnosed formatting issue was fixed or not.
- New final summary line, counting the total number of issues found and the number of fixes applied.
- Improved unsupported syntax error message details for those unsupported syntaxes that prevent the source files to be formatted.
- Other updates: several bugfixes, new code style options and adjusted default presets.
👉 Download Codee Formatter for free.
📃 Check out the full changelog for more technical insights.
Build correct, secure, modern and fast Fortran, C and C++ scientific software
This company is capitalized by INNVIERTE, AN INVESTMENT PROGRAM OF CDTI, E.P.E
Leave a Reply