Connected desktop and synchronization
|In this topic:|
Connected desktop and synchronization
To use the connected desktop, you need:
- an integration project and build analysis
- IDE plug-ins or kwcheck installed on developer desktops
- each developer desktop to be connected to the integration project
How connected desktop works
The term connected desktop refers to a desktop project that is connected to a related integration project on the Klocwork Server. This connection enables synchronization, which:
- provides the accuracy of an integration build with the speed of a local analysis
Connected desktop allows you to analyze your code locally, before check-in, while achieving the same analytical consistency and accuracy that would occur if you were to check in your code and then have it validated during an integration build analysis. How? When you analyze your code (through on-the-fly analysis, continuous analysis, or a project analysis), knowledge base files are synchronized from the integration build analysis to your connected project (for relevant files on your desktop). These knowledge bases record the function and class-method behavior of the entire code base. This allows the engine to propagate values, ranges and symbolic logic evaluations across function and module boundaries, whether those functions are located within a single file, or within different build units (such as dependent shared libraries).
- updates issue status changes and comments among connected desktop users and the integration buildTypically, you fix whatever issues you can fix immediately and change the status for issues that you either don't care about or regard as false positives. You can change an issue's status in your IDE plug-in, Klocwork Desktop, Klocwork Code Review and kwcheck.Note: Status changes are updated among connected desktop users even if they're not reported in the current integration project analysis. If connected desktop users don't update their source code or have code that does not contain issues detected and updated by other users, then these issues are not displayed.
- provides centralized project configuration between the integration build and the connected desktops
Analysis settings, such as checker taxonomies to support internal coding policies, can be set up for the integration build and automatically transmitted to connected users. You can then assess your performance against these policies before you check your code in. For more information about configurable integration build settings, see Integration build analysis.Note: If you have permission to change your local project configuration, such as enabling or disabling issue types for the analysis, then your local configuration settings take precedence over the integration build settings.
Synchronization is automatic and occurs when:
- a file or project is analyzed
- detected issues are cited in a connected desktop projectNote: Citing pushes and pulls only citing information, not configuration changes or KBs.
- you connect to the integration project (something you typically do only once)
Additionally, a scheduled synchronization occurs on your open, active project to update citing and configuration information.
As you can see from the diagram above, synchronization:
- updates citing information among connected desktop users and the integration build analysis
- pulls configuration changes and knowledge bases into connected desktops
What synchronization does not do
When you fix issues on your desktop project, those fixes won't show up in Klocwork Static Code Analysis (in reports such as Fix Activity) until another integration build analysis is run on your checked-in code. Synchronization does not relay fixed issues to Klocwork Static Code Analysis.