A complete analysis with the KLA involves two phases:
1st Phase - local analysis
The Kiuwan Local Analyzer performs source files analysis and uploads generated reports to the Kiuwan cloud
2nd Phase - cloud indicators calculation
Indicators and metrics are calculated in the cloud based on the uploaded analysis reports
After uploading the reports, you can make the KLA wait synchronously for the results from the 2nd phase or not.
The local analysis takes up the most resources and its performance depends on the following factors:
The analysis' contents and scope:
Code size (number of files, size of the files, etc.);
Analysis characteristics (number of rules and metrics, clone detection configuration, etc. ).
The local machine’s characteristics and KLA configuration:
Local machine characteristics (CPU clock speed, available memory, I/O throughput, JVM version, etc.);
KLA configuration (memory, timeout, etc.).
A local analysis consists of a fixed sequence of steps:
Discovery of which technologies are in the provided source code;
A three-steps sequence for every discovered technology:
Duplicated code analysis
Generation of a report for each step;
Encryption and upload of the report to the Kiuwan cloud.