New Features

Sarif Import

  • Improve portability when loading results from another machine.

CodeCheck Checks

  • Add new MISRA12_13.2: The value of an expression and its persistent side effects shall be the same under all permitted evaluation orders
  • Add Ada Checks ADA95_5.5.1, ADA95_5.5.6
  • Add new MISRA12_22.6: The value of a pointer to a FILE shall not be used after the associated stream has been closed
  • Add new MISRA12:19.1: An object shall not be assigned or copied to an overlapping object
  • Add Ada Checks ADA95_5.4.1, ADA95_5.4.5, ADA95_5.4.6
  • Add new MISRA12_14.3: Controlling expressions shall not be invariant
  • Add new MISRA12_2.2: There shall be no dead code

Command Line

  • Add way to enable Automatic Architectures in und - Adds 'und arch [-list] [-generate <name>] db.und' so users can manage automatic architectures (Directory Structure, Language, Calendar, Visual Studio, and plugin archs) from the CLI without opening the GUI. - 'und arch -list' shows each arch with active/available status - 'und arch -generate <name>' persists and runs the arch via TagManager - 'und help arch' documents the remove path via 'und remove -arch'

Localizations - Japan

  • Updated Translations

Interactive Reports

  • Add new iReport plugin for exporting metrics for certain entities

Language - Basic

  • Add 'overrides explicit' references for override relations where a method implements an interface method by explicitly naming it.

Language - Rust

  • Add Cargo.toml import
  • Add option to add found module files to project

Bug Fixes

CodeCheck Checks

  • Fix: False negative for MISRA23_10.4 when comparing a variable to a literal
  • Fix: Falsepositives in MISRA08_6-5-5
  • Fix: false positive in MISRA08_12-1-1
  • Fix: Crash in CPP_L037 Incompatible Pointers on array arguments stinb/crashlogs#789

Shared Tasks

  • Shared Tasks CSV now matches graph classification and honors REFERENCE option
  • Shared Tasks CSV now matches the graph's lockset-based classification

General

  • Fix: prevent duplicate UPL plugins in Manage Plugins window
  • Fix bug where old file data can sometimes be left in the db after a file is removed from the project

Import

  • Fix spurious project configure dialog "discard changes" prompt for some compile_commands.json imports

Language - Basic

  • Fix bug where objects typed using a type alias had a 'typed' reference to the alias entity instead of a 'use name'.

Language - C#

  • Fixed bug where objects typed using a type alias had a 'typed' reference to the alias entity instead of a 'use name'.
  • Improved handling of type aliases used as base classes and implemented interfaces. A 'use name' relation is now created to the alias entity and a 'base implicit' or 'implements implicit' relation is created to the renamed class or interface. Also, fixed bug where some references using namespace alias prefixes were not correctly recognized.

Language - Pascal

  • Fixed Pascal inheritance analysis when classes extend aliased types. 

Rust

  • Fix missing references when a use statement name references more than one entity
  • Fix kind of non-generic traits
  • Fix nested function qualified names
  • Fix failure to analyze build script generated files

UI

  • Potential Fix: prevent crash when renaming a tag in Designer after offline mode cycling


Known Issues

  • Some macros aren't defined when importing VS 2022 SLN and VCXPROJ
  • Print Preview may not function correctly
  • CodeCheck may repeatedly request an analysis even when no changes are present. Run Analyze All once to fix.