Features

Code violations

Kritika detects various bad smells, best practices violations, possible errors and much more using a blend of well-known static code analysis tools and custom proprietory techniques.

Every violations is attached to the offending line with a short explanation for the ease of analysis.

Feature: Code Analysis

Fast incremental analysis

Kritika is a great fit for a huge codebase. Thanks to the incremental analysis it takes literally just seconds to get a full report.

This is especially useful when lots of developers work on their own branches with small changes.

Feature: Fast

Duplications

Duplications are hard to detect right without false-positives. To make it more reliable Kritika compares not code, but abstract syntax trees. This way duplications with renamed variables or functions are still going to be detected.

Feature: Duplications

Diff-mode

Full diff-mode between code snapshots allows to see new violations and changes that introduce them. This make code review much easier.

Feature: Diff

Customized rule profiles

All rule profiles have many different rules with their own configuration options. Due to smart incremental analysis switching specific rules on or off will not force all the rules to be rescaned.

Feature: Profiles

Quality Gates

Quality Gates allow enforcing a trend that new code modifications should follow. Right now only one type of quality gates is available: always better, which means that the new code should be better or not worse than the previous. More quality gates are comming soon!

Feature: Quality Gates

Coverage

There is no quality without testing. Coverage allows to visualize the current testing coverage of the codebase.

It's easy to configure your existing CI testing to submit coverage reports after each build. For Perl take a look at Devel::Cover::Report::Kritika.

In the real world test coverage can take a lot of time to finish, usually hours. That is why coverage uploads are totally separated from the basic analysis and can be uploaded and added to the snapshot report later.

Feature: Coverage

Integrations (Web Services, IDEs etc)

Our industry is full of different tools for different tasks. Kritika plays nice with others.

Repository providers, CI/CD servers, Email notifications etc are all here.

Feature: Integrations

Command-Line Tool

Sometimes it is very useful to get the quality report just right there where you work, in your editor. Integrations with Sublime Text and VIM are available.

Take a look at kritika. It is easy to setup a pre-push hook for example.