Features

The dream that drives us in building AI Reviewer is to transform the kind of code review that is normally done by an expert software designer or architect, from a labour-intensive manual endeavour into a cheap commodity.
Here are just some of the features that make AI Reviewer such a robust, reliable and versatile tool for your development team. Since we are continuously working on adding new and useful features to AI Reviewer, please remember to check back here soon!

Fully automated code reviews of large C++ projects, based on the S.O.L.I.D. design principles

AI Reviewer generates code reviews and/or measurement reports in a fully automated way. The analyses contained in AI Reviewer blend advanced detection of code smells and anti-patterns with code measurement and other heuristics, designed to capture various violations of the well known S.O.L.I.D. principles and related rules and best practices in object oriented design. You free up valuable developer time by relying on a virtual code reviewer that does the job in a focused, consistent way.

24+ design flaws and anti-patterns

AI Reviewer can automatically detect and report the presence of a wide range of code smells and anti-patterns, such as “God Class”, “Feature Envy”, “Refused Bequest” and others. All reported instances come with contextualized details and are graded for severity, which improves the focus of maintenance activities and saves further developer time.

65+ procedural and object oriented code metrics

AI Reviewer comes bundled with a comprehensive library of code metrics, targeting all relevant code entities of a C++ system. It can generate reports according to your needs, whereby measurement inputs can be filtered based on the scope/location of the measured entity, while outputs can be filtered based on measurement results.

Continuous integration with Jenkins

AI Reviewer integrates into the Jenkins continuous integration platform via a dedicated plugin. The Jenkins plugin provides effective navigation and exploration capabilities of the generated code review report including direct links to the source code. In addition, it provides a means to track the health of your code base over time.

No-fuss XML or CSV based reporting

In addition to web-based exploration via Jenkins, all of AI Reviewer’s reports are available in XML form, for easy processing by further tools. Optionally, measurement reports can also be exported in CSV format, which makes them easy to import into the spreadsheet application of your choice.

Versatile filtering mechanism

AI Reviewer provides a versatile XML based mechanism for defining input and output filtering rules. For example, you can independently filter the inputs of the code review and code measurement tasks, based on a program entity’s name or its scope (i.e. location within another program entity). Similarly, outputs can be filtered based on name, scope, and the actual outcome of the analysis or measurement.

Easy to deploy, robust and accurate parser

AI Reviewer works by extracting a highly accurate and very detailed model from the source code. Compared to other languages, C++ has some features (e.g. macro expansion and preprocessor directives) that make it especially difficult to parse accurately. AI Reviewer provides automated tooling that can extract the correct build configuration by observing an actual build of the system, without the need to change or adjust any of the build scripts.

Lower your software maintenance costs, by turning code review into a cheap commodity for your development team!