Static Analysis

Static Analysis

VectorCAST/Lint is a static source code analyzer that performs module based or whole-program source code analysis on C and C++ codebases and automatically identifies problems at their source, prior to compilation. VectorCAST/Lint static analysis helps developers find programming errors and other defects earlier in the software development cycle, prior to any formal testing, thereby reducing the cost, time, and risk associated with developing safety and mission critical embedded applications. Errors involving data initialization, type mismatch and intermodule inconsistencies can be very time consuming to find during code execution as they often result in a segmentation violation or other “crash”. VectorCAST/Lint identifies those errors before the code is compiled, thus speeding up the testing phase of your project.

VectorCAST/Lint utilizes the powerful Lint source code analysis engine from Gimpel Software and has been extended to support the extensive list of embedded compiler environments currently integrated with the VectorCAST dynamic testing product line.

Out-of-the-box, VectorCAST/Lint is configured for checking the MISRA C, MISRA C:2004, and MISRA C++:2008 standards. These standards recommend the use of a restricted subset of constructs for the C and C++ languages, with the goal being a safer and more maintainable use of the language. Areas of code that are non-conforming to the standard's built-in-rules are highlighted in code analysis reports. The MISRA checking features in VectorCAST/Lint include the detection of recursion, support for the MISRA 2 'underlying type' concept, determination of side effects for functions, and MISRA C++ support.

Ensuring Reliable Embedded Software by Combining Static Analysis with Dynamic Testing to Verify Code

VectorCAST/Lint is the perfect complement to the dynamic embedded software testing tools in the VectorCAST suite. While VectorCAST/Lint will look across your entire C or C++ program and find bugs, inconsistencies, and redundancies prior to compiling the source code, dynamic testing, such as unit and integration testing, code coverage, and regression test management, focuses on executing the source code on your embedded hardware to assess code correctness through pass/fail analysis of test cases.

Since the dynamic tools have no dependence on the static analysis for information to construct executable test harnesses, this alleviates the need to run the static analysis every time a change is made to a file when doing unit, integration, and regression testing. By combining static source code analysis and dynamic testing, organizations developing C and C++ embedded applications can increase the speed and accuracy of detecting defects, shorten the Verification and Validation process, and ensure higher quality software.


  • Helps to find problems related to loosely written language specifications
  • Devoted to checking code for possible defects
  • Analysis engine is based on the most widely used static analysis technology

Highlights of VectorCAST/Lint

  • Easy-to-use GUI shortens the learning curve
  • Integrated with FLEXlm to ensure licensing compliance
  • Out-of-the-box MISRA support for C and C++
  • Source Code Browser with Message Annotations
  • Identification of initialization errors, type checking and macro analysis
  • Finds issues quickly that can take a lot of time to identify during formal software testing 
  • Customizable Reporting

How it Works

Using VectorCAST/Lint for Static Source Code Analysis

VectorCAST/Lint utilizes the powerful Lint source code analysis engine from Gimpel Software and has been extended to support the extensive list of embedded compiler environments currently integrated with the rest of the VectorCAST dynamic testing product line. VectorCAST/Lint launches the PCLint product from Gimpel Software to statically analyze one or more source code files. All of the functionality available in PCLint is available in VectorCAST/Lint.

VectorCAST/Lint provides several key enhancements to PCLint’s comprehensive functionality which include License Compliance and GUI-Based Analysis and Reporting.


License Compliance

The VectorCAST/Lint license is managed by the same license manager as the rest of the VectorCAST suite: FLEXlm. This provides organizations concerned with license compliance the ability to restrict usage of PCLint to only the number of licenses that the organization owns. Vector offers two licensing models for VectorCAST/Lint:

  • Standalone Mode - VectorCAST/Lint can be purchased as a stand-alone product to support your organization’s static analysis requirements. VectorCAST/Lint includes the PCLint license.
  • Integration mode - VectorCAST/Lint can be purchased in conjunction with VectorCAST/C++ and/or VectorCAST/QA, allowing your project to perform both static and dynamic analysis on your code. This option provides the most robust analysis and testing solution for your code, ensuring a wider variety of issues are identified and resolved prior to product release. In this mode, organizations can either purchase PCLint with their VectorCAST/Lint purchase, or can integrate VectorCAST/Lint with existing PCLint licenses already owned by the organization.


GUI-Based Analysis and Reporting

The VectorCAST/Lint message browser makes it easy to review errors and warnings in the context of the source file where they occur. Additionally, VectorCAST/Lint's message browser displays detailed explanations of the concepts behind the analysis.


VectorCAST Workshops

Our workshops offer you many opportunities to expand or deepen your knowledge about VectorCAST.

Gain a basic understanding of Unit Testing and Code Coverage concepts and how the VectorCAST test automation platform can be used to implement those concepts.


Related Pages

Medical Engineering Solutions

Develop and test FDA and IEC 62304-compliant embedded systems and software in medical engineering.

Go to Page

Testing tools for the implementation of simulation and test environments.

Go to Page