Skip to content

v6.27.0

Choose a tag to compare

@dkrupp dkrupp released this 08 Dec 15:35
· 95 commits to master since this release
c84d0ea

🌟 Highlights

Asynchronous Store

CodeChecker changes it's store execution model from synchronous to asynchronous mode.
The CodeChecker store command will not have to wait synchronously for the server to finish the storage procedure of the reports, but can seamlessly continue execution after the store process started. Then later, it can query the status of the storage task from the server.

This provides more stable report storage procedures as many users expereinced broken TCP connections during large analysis results storage batches.

CodeChecker will provide a command line utility for admins to query ongoing/finished/cancelled storage processes with filtering option.

❯ build/CodeChecker/bin/CodeChecker cmd serverside-tasks --enqueued-after 2024:08:19 --status cancelled
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Token                                                            | Machine            | Type                   | Summary                         | Status    | Product | User | Enqueued            | Started             | Last seen           | Completed           | Cancelled?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8b62497c7d1b7e3945445f5b9c3951d97ae07e58f97cad60a0187221e7d1e2ba | xxxxxxxxxxxxx:8001 | taskService::DummyTask | Dummy task for testing purposes | CANCELLED |         |      | 2024-08-19 15:55:34 | 2024-08-19 15:55:34 | 2024-08-19 15:55:35 | 2024-08-19 15:55:35 | Yes
6fa0097a9bd1799572c7ccd2afc0272684ed036c11145da7eaf40cc8a07c7241 | xxxxxxxxxxxxx:8001 | taskService::DummyTask | Dummy task for testing purposes | CANCELLED |         |      | 2024-08-19 15:55:53 | 2024-08-19 15:55:53 | 2024-08-19 15:55:53 | 2024-08-19 15:55:53 | Yes
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Detailed analysis status command

CodeChecker parse --status ./report_dir [--detailed] [-e json]

This command provides a clear overview of the current state of analysis results within the report directory, indicating which reports are up to date, which are outdated, which analyses have failed, and which files were never processed (e.g. skipped).

Example output:

----==== Summary ====----
Up-to-date analysis results
  clangsa: 311
  clang-tidy: 311
Outdated analysis results
Failed to analyze
  clangsa: 20
  clang-tidy: 20
Missing analysis results
  clangsa: 18
  clang-tidy: 18
  cppcheck: 349
Total analyzed compilation commands: 331
Total available compilation commands: 349
----=================----

The --detailed flag shows the exact files involved instead of just counts. For automated workflows, the -e json option provides the status info in a format that can be easily processed.

New Component Filter mode: single-origin-report

A new report filter option is introduced to CodeChecker: Single Origin mode. This option makes it possible to filter only those reports which are contained entirely within a source code component. To use it, select the "Single Origin" mode when editing the Source Component filter in the Reports view.

This new option is also available from the command line using the --single-origin-report argument. E.g:
CodeChecker cmd results --single-origin-report --component my_component ...

image

Highlight non-compliant guideline rules
Non-compliant rules are highlighed in the SEI-Cert statistics and compliant rules can be hidden.
image

[feat] Highlight non-compliant rules in the Guideline statistics by @noraz31 in #4616

Navigable numbers in the product statistics page
The values of the outstanding reports graph are now clickable.
image

[feat] Show found issues on a given date from statistics by @gulyasgergely902 in #4615

What's Changed

New Contributors

Full Changelog: v6.26.2...v6.27.0