What is PC-lint Plus?
PC-lint Plus is a rewrite of PC-lint from the ground up. It combines the clang
framework with Gimpel Software's 30+ years of static analysis experience to provide
a product that supports the latest C and C++ standards and implements the leading
edge analysis technology that Gimpel Software is known for. While PC-lint Plus is
a new offering from Gimpel Software, it is largely backward compatible with
PC-lint /FlexeLint. In particular, most of the same options and messages are supported
by PC-lint Plus, indirect files work the same way, and flagship features such as
Value Tracking, User-defined Function Semantics, and Strong Types are all available
and many features have been significantly enhanced.
What’s New in PC-lint Plus
PC-lint Plus includes many new messages, features, and enhancements.
The highlights include:
Modern C++ Support
PC-lint Plus fully supports C++11 and C++14 and most of the soon-to-be published
C++17 Standard by leveraging clang to perform the lexing and parsing for C and C++
source code. Clang updates are regularly merged into PC-lint Plus ensuring prompt
support for the newest language features. As a result, PC-lint Plus supports the
latest compilers, including current versions of GCC and clang as well as Visual Studio 2015.
Improved Value Tracking
Value tracking now stores ranges of values instead of just individual values
which allows PC-lint Plus to gain further insight into your code when the
exact values are unknown but they may be bounded by conditional logic.
Structure members and floating point values are also now tracked. Data and
function pointers can participate in value tracking which allows PC-lint Plus
to provide more effective analysis and a better understanding of aliased values
PC-lint Plus supports parallel analysis of projects by using separate threads
to analyze each source code module, which speeds up the analysis process by
making full use of the available hardware.
A new configuration tool automates the configuration process by extracting
information from your compiler and your build process to generate comprehensive
and accurate configurations that match the way you build your projects.
Improved MISRA C 2012 Support
PC-lint Plus further extends existing MISRA C 2012 support with new messages,
improved message verbiage that more clearly explains the violation being
diagnosed, and underlying type breakdowns that show exactly how the different
parts of an expression contributed to the ultimate underlying type of the
expression to aid in the understanding of messages related to underlying types.
Diagnostic facilities have been greatly improved in PC-lint Plus by providing the
precise locations of issues encountered, by highlighting the key constructs
referenced in the message, and by the introduction of supplemental messages to
provide further insight into the conditions that lead to the issuance of the diagnostic.
Messages can now be organized into user-defined named groups for easier manipulation,
parameterized suppressions can be localized to a specific code region, messages can
be suppressed using regular expressions, and -efile can now be used to suppress
messages within specific files.
Improved Function Semantics
PC-lint Plus provides built-in function semantics for over 200 standard library functions.
Custom return semantics defined with the `-sem` option are now verified when the
body of the function is available. For example, a semantic that specifies that a
function never returns null will result in a diagnostic if the function actually
does ever return null.
User-defined function semantics can also now be specified for individual function
overloads and function templates.
In addition to the new features and enhancements described above, PC-lint Plus
contains dozens of minor improvements including a built-in help system, deprecation
of types and options, improved printf and scanf
format string checking
with positional parameter support, the ability to save and restore entire option
contexts, improved message verbiage for existing messages, and hundreds of new
diagnostics (including many dedicated to the use of new C++ language features).
When will PC-lint Plus be available?
Version 1.0 of PC-lint Plus is now available.
What operating systems are supported by PC-lint Plus?
PC-lint Plus Version 1 will run on Windows 7/8/10 (32-bit and 64-bit),
Linux (64-bit), and MacOS.
How much will PC-lint Plus cost?
Pricing for PC-lint Plus is based on a Team license. To use PC-lint Plus, all
Developers on your Team must be licensed. See our license agreement
for the definition of Developer. To get pricing, please email firstname.lastname@example.org with your company
information and the number of Developers on your Team.
Will there be an upgrade path from PC-lint / FlexeLint?
PC-lint Plus is a new offering and is not available as an upgrade
Will PC-lint / FlexeLint continue to be supported?
Home | Contact
PC-lint and FlexeLint are trademarks of Gimpel Software LLC
Copyright © 2017, Gimpel Software LLC, All rights reserved.