(610) 584-4261 sales@gimpel.com
Request Evaluation Online Demo
Gimpel Software LLC Logo   Gimpel Software Evaluate Order Support News About

Representative Checks

PC-lint Plus provides over a thousand diagnostics that your compiler will not issue. These support dozens of detection areas and a rich and customizable feature set. For a comprehensive list of features and diagnostics, please see the Reference Manual for PC-lint Plus which is included with both the release product and the 30-day PC-lint Plus evaluation license. Below is a representative list that highlights some of the major features of PC-lint Plus.

  • Detection of null pointer dereference, creation and access of out of bounds pointers, buffer overflow, and similar issues using Value Tracking.
  • Initialization issues such as access of uninitialized variables, out of order class member initialization, class members not initialized by constructors, etc
  • Read-write analysis identifies variables that are assigned a value that is not used.
  • Improperly formed or missing assignment, move, and copy operations.
  • Improper resource management issues such as failing to deallocate resources, improper deallocation, double free, assignment out of scope, temporaries, etc.
  • “Could be const” diagnostics that report when variables or member functions could be declared const or when pointer variables could be declared as pointing to const.
  • Reporting on unreferenced/undefined class members, functions, tags, etc.
  • Exposing privileged class data via member functions.
  • Built-in semantics for over 200 standard library functions to detect potential misuse of library functions.
  • The ability to create custom semantics for user functions.
  • Base classes that do not follow common object oriented precepts.
  • Conditionals that always evaluate to true or to false.
  • Issues related to macros including passing an expression to an unparenthesized macro parameter, passing an expression with side effects to a repeated macro parameter, and unparenthesized expression-like macros.
  • Unreachable or “dead” code detection.
  • Unusual expressions that may imply potential issues such as operator precedence issues, unsigned comparisons with 0, etc.
  • Indentation checking (expected/unexpected positive/negative indentation).
  • Comprehensive format checking of printf and scanf like functions.
  • Wide variety of loss of precision errors featuring our exclusive precision tracking.
  • Detection of externals that can be made static.
  • Strong type checking based on typedef types.
  • Initialization irregularities (too few, too many, incorrect shape, string concatenations within, etc).
  • Stack analysis to determine function stack usage, recursive functions, etc.