Riverblade - Visual Lint Analysis Tools


Visual Lint Analysis Tools

Visual Lint currently supports the following static code analysis tools:

Analysis Tool  Language  Licence 
Gimpel PC-lint  C/C++  Commercial 
CppCheck  C++  Open Source 
Google cpplint.py C++  Open Source 
Inspirel Vera++ C++ Open Source
Microsoft FxCop 
C#  Freeware 
FindBugs 
Java Open Source

 

Support for TICS Basic for C# (formerly ClockSharp) is under development.

If there is a particular analysis tool you would like to see supported in Visual Lint please contact us.

 

PC-lint

Visual Lint supports the industry standard PC-lint 9.0 C/C++ static analysis tool by Gimpel Software. PC-lint will thoroughly check your C/C++ source code for bugs, glitches, inconsistencies, non-portable constructs, and much more, so you can find and fix bugs much more quickly than with traditional debugging techniques. It is a command line code analysis tool which can be configured to support a wide variety of compilers and development environments.

Among the many capabilities of PC-lint are:

  • Detection of dangling and uninitialised pointers
  • Variable initialisation/value tracking
  • Variable scoping checks
  • Detection of type mismatches and suspicious casts
  • Checking of assignment operator and copy constructor behaviour
  • Detection of potential memory leaks
  • Analysis of thread behaviour
  • MISRA C/C++ rule validation

In the 23 years since PC-lint was first released, numerous enhancements have been made to the original product. These include major language enhancements such as C++ support in 1993, and also many ground breaking innovations in static analysis. PC-lint 9.0 continues this tradition by adding ground breaking capabilities such as analysis of thread behaviour, highly capable variable tracking and support for precompiled headers.

PC-lint 9.0 Workstation licences can be purchased directly from our online store; if you require LAN licences please contact us to request a quotation.

 

CppCheck

CppCheck is an open source C++ analysis tool, and may therefore be freely downloaded. Although not as established as PC-lint, it is evolving rapidly so if you are new to C++ analysis it is definitely worth trying out.

Among the capabilities of CppCheck are:

  • Array bounds checking
  • Detection of missin constructors
  • Variable initialisation and scoping checks
  • Verification of exception safety
  • Checking of assignment operator and copy constructor behaviour
  • Detection of potential memory leaks
 

cpplint.py

cpplint.py is the Google C++ Style Checker. Although a style checker rather than a static analysis tool, this script complements the Google C++ Style Guide.

As the style checker is implemented as a Python script, you will need a compatible Python installation (we recommend v2.7) in order to run it.

 

Vera++

Vera++ is a programmable tool for verification, analysis and transformation of C++ source code. It is published as open source software under the Boost Software Licence, and may therefore be freely downloaded.

Vera++ is unusual among established static analysis tools in that it allows you to write your own rules. As such, if you are looking to check code against a custom ruleset this is a tool you should probably be aware of.

 

FxCop

FxCop is Microsoft's static analysis tool for .NET assemblies. Visual Lint currently supports this tool for the analysis of C# projects, but in due course this will be extended to include other .NET project types such as C++/CLI and VB.NET.

 

FindBugs

FindBugs is an open source Java static analysis tool which can analyse either individual Java source files or complete Java projects.

 
"I really believe that this tool has contributed more than any other in improving the quality of the software I release."
- Simon Raybould, Freelance Software Consultant