Industry standard static code analysis tool
Visual Lint uses industry standard static code analysis tools including PC-lint, CppCheck and FxCop. These tools have a known track record in improving the quality of software analysed using them.
Of course, once you have made a decision to use such an analysis tool, the question is how to use it effectively.
That is Riverblade's speciality. Visual Lint closely integrates a variety of static analysis tools within the development environment, making analysis results available to the developer in a form which is both useful and intuitive.
This makes it easier for developers to act on the issues identified - or (looking at it another way) harder for them to ignore them.
Either way, one of the most common obstacles to making full use of the analysis capability of industry standard code analysis tools is removed.
On-demand code analysis
Files can be manually analysed from the Visual Lint toolbar or code editor context menu at any time, with results presented in dedicated displays.
Unlike conventional methods of integrating code analysis tools within development environments, the analysis will automatically use the correct project settings and you can keep on working while the analysis progresses.
Easy to interpret displays
There are plenty of code analysis tools out there which dump analysis results into the Output Window in text form. Whilst that is not too daunting when there are only a handful of issues reported, it soon becomes a real disincentive to use a code analysis tool at all.
By contrast, Visual Lint has a dedicated Analysis Results Display which presents analysis results in an easy to follow format, and even provides tooltips to tell you what each issue means.
Of course the raw analysis results are still available if you need them.
Automated background analysis
Most code analysis tools require you to tell the development environment when you want to analyse a file or project, whereupon you have no choice but to wait for the analysis to complete (which can take a great deal of time with some files) before you can continue working.
Visual lint is more flexible than this, and will quite happily analyse complete projects and solutions as you edit. When you need analysis results for a particular file, they are likely to be waiting for you. Multiple files can be analysed simultaneously, with user preferences determining the maximum number of analysis threads.
Furthermore, while you are editing files, Visual Lint can re-analyse them as they are saved in order to ensure that up-to-date analysis results are always available. When you need the CPU (for example during debugging or building) background analysis is automatically paused.
Finally, if analysis time is an issue Visual Lint can dramatically accelerate analysis runs by distributing analysis tasks among other machines on your network using IncrediBuild (details of how this works are given in the case study Accelerating PC-lint C++ Code Analysis).
Single file ('unit checkout') and whole project automated analysis
Static code analysis tools such as PC-lint can analyse files either singly ('unit checkout analysis')or together as complete projects ('whole project analysis'), as shown in the screenshot on the right.
Whilst the former provides the most flexibility and speed, the latter allows unused and redundant code to be identified.
Visual Lint supports both - all you have to do is choose which you prefer, and how many analysis passes should be made.
No need to learn complex command lines
Analysis tool command lines can be very complex, and getting them right for a particular project is often unnecessarily difficult and time consuming - particularly when you consider that the intricacies of project configurations must be taken into account when doing so.
Fortunately, you don't need to worry about this when using Visual Lint - analysis of implementation files automatically takes into account project settings and the active configuration. There is no need to type in complex command lines or write batch files, and even annoying little things like the IDE tab size and for loop compliance settings are automatically handled for you.
In other words all the hard work is done for you, so you can focus on the important thing - your code.
Setting up an analysis tool installation can be fiddly and time consuming. For example, although PC-lint includes an installation wizard which can do some of the preliminary work for you, you will still have to write include directives to match those within your IDE (and worse - they could be different on every workstation!).
Visual Lint automates this sort of annoying task for you, and also provides a Configuration Wizard which can be used to configure Visual Lint to work with specific code analysis tools.
Once the analysis configuration for a specific analysis tool has been defined, you can edit it at any time using dedicated commands within the development environment.
Easy access to help when you need it
If you have ever struggled to understand the meaning of a warning message from an analysis tool you are not alone.
Fortunately, Visual Lint's displays include simple explanations of what each issue actually means. Instead of wondering what they mean, you can concentrate on fixing them.
On those rare occasions when you may find you need information on specific options or operation, the manual or helpfile for the active analysis tool is easily accessible within the development environment via a dedicated command.
Customisable HTML and XML Reports
Need a report to show to your boss to show him the status of the project?
No problem - Visual Lint can generate them automatically, and even update them dynamically as the analysis progresses.
If you need a custom 'look and feel', Visual Lint Professional and Enterprise Editions even allow you to define your own stylesheets.