How distributed analysis works
A distributed Klocwork analysis involves three major components:
- the Distributed Analysis Server (started with the command kwdist and managed with the command kwdistadmin). In our Example setup, this component will run on Machine A.
- the Build Host, where kwbuildproject is run (Machine B). Note: The Distributed Analysis Server can be run on the same machine as the Build Host.
- the Distributed Analysis Agents (started with the command kwagent), running on remote build machines (Machines C, D, E and F).
These components work together as follows:
- Agents provide notification to the Distributed Analysis Server that they are ready to process compilation requests.
- kwbuildproject sends compilation requests (source files, compilation options and other configuration information) to the Distributed Analysis Server.
- The Distributed Analysis Server sends compilation requests to the agents on the remote build machines. (As a result, agents do not require a shared Klocwork installation or a shared source file directory.)
- The agents perform their share of the Klocwork analysis and send the results (linked object files) back to the Distributed Analysis Server.
- The Distributed Analysis Server sends the analysis results back to the Build Host (running kwbuildproject).
Note: Klocwork Distributed Analysis Agents can run custom checkers. For detailed information, see Deploying custom checkers for a server installation.