» Sign in


HP Code Advisor is a static analysis tool for C and C++ programs. HP Code Advisor reports various programming errors in the source code. This tool enables programmers to identify potential coding errors, porting issues, and security vulnerabilities. It also helps user to find the program complexity metrics. HP Code Advisor leverages the advanced analysis capabilities of HP C and HP aC++ compilers available on the HP Integrity systems.
New Release! HP Code Advisor C.02.30

is now available for download for HP-UX on HP Integrity and PA-RISC systems. Major changes in C.02.30 release are:
  • Support for detection of additional security vulnerabilities.
  • New feature to assist C89 to C99 migration of legacy sources.
  • Enhancement to detect definition of functions, a standard implementation of which may already be available.
  • Improved reporting towards better readability.
  • Elimination of redundant diagnostics.
  • New option(+WcXXXX) for configuration of certain diagnostics.
  • New and improved diagnostics.

  • See HP Code Advisor Diagnostics Reference Guide (.PDF, 622KB) for more details.

Note: The HP Code Advisor is invoked by the command cadvise, pronounced as c-advise.

The Graphical User Interface for HP Code Advisor has been released. For more information, see HP Code Advisor plug-in for Eclipse.

Product Information

»  Demo**
»  User's guide
»  Reference card (.PDF, 31KB)* 
»  White paper (.PDF, 116KB)*
»  FAQ
»  All documentation
»  Technical support
»  Downloads
»  Feedback
»  Eclipse plug-in
* Requires Adobe Acrobat Reader. To download the latest version, please visit the Adobe website.
** Requires Adobe Shockwave Player. To download the latest version, please visit the Adobe website.
Following are the major features and benefits of HP Code Advisor:
Advanced Static Code Analysis

HP Code Advisor is a powerful static code analysis tool that automatically diagnoses various issues in a source program. It improves developer productivity by finding defects at code development time, and leads to more robust and secure software because of fewer escaped defects.

HP Code Advisor leverages advanced cross-file analysis technology from HP compilers. It stores the diagnosed information in a program database. With the built-in knowledge of system APIs, HP Code Advisor looks deep into the code and provides helpful warnings with fewer false positives.

Defect detection

HP Code Advisor detects a wide range of coding errors and potential problems such as memory leaks, used after free, double free, array/buffer out of bounds access, illegal pointer access, uninitialized variables, unused variables, format string checks, suspicious conversion and casts, out of range operations, C++ coding style warnings, and so on.

Security vulnerability checks

Security flaws are not only very costly to fix, they can lead to a bad reputation and potential loss of customers. HP Code Advisor detects security vulnerabilities in the source code such as buffer overflows, use of unsafe APIs, use of unsafe file path, unsafe data length argument, unsafe loop exit condition, unsafe use of tainted data, and so on.

Porting and Migration

The Code Advisor also helps you to identify the potential problems in converting applications from 32-bit to 64-bit. The porting help is also available in 32-bit mode. This enables you to evaluate the porting effort before the actual porting begins.

While porting from Linux or Windows? to HP-UX you might encounter problems converting from little-endian to big-endian. The Code Advisor identifies instances where different endianness might produce different results. These instances are very difficult to find manually.

Further, migrating your applications from PA-RISC to HP Integrity systems is much easier with the help of HP Code Advisor, which helps you identify the differences between the two compilers and begin porting the code to HP Integrity systems without leaving the familiar PA-RISC environment.

Detection of pre-defined or user-defined Coding Guideline violation

HP Code Advisor has a built-in Coding Guidelines checker which diagnoses violations to the Coding Guidelines and emits appropriate diagnostic messages. You can modify the default set of rules or write your own set of rules to enforce Coding Guidelines. Cadvise has the appropriate API header files and a set of sample files along with the corresponding Makefile to rebuild the rules library. Refer to the HP Code Advisor User guide for more details.

Easy to Integrate and Use

The Code Advisor is available for HP-UX developers on both HP Integrity and PA-RISC systems as part of C and C++ compiler bundles or as a direct download. The default installation location is /opt/cadvise. The Code Advisor can be seamlessly integrated with the build process and makefiles. The reporting tool, cadvise report helps you to filter the important warnings without getting lost in tons of trivial warnings.

For example, to use cadvise for a single file, you can simply use the following command:

$ cadvise cc -c hello.c 
You can also specify the program database and other options at the command line, as in the following example:
$ cadvise -pdb ./mypdb +wlint aCC hello.cpp 
HP Code Advisor is shipped and supported with the HP aC++ and HP C compilers on the latest HP Integrity and PA-RISC HP-UX platforms. It also supports the gcc and g++ compilers with the exception for some of the built-ins and extensions. For more information, see HP Code Advisor User's Guide (.PDF, 716KB).


For details on the usage of HP Code Advisor (cadvise), see the following documents:

» HP Code Advisor User's Guide (.PDF, 716KB)
» HP Code Advisor FAQ
» HP Code Advisor Diagnostics Reference Guide (.PDF, 622KB)
» Using HP Code Advisor in Application Builds: [HP Code Advisor] White Paper (.PDF, 92KB)
» HP C/aC++ Features to Improve Developer Productivity; White paper (.PDF, 115KB)

To access the cadvise Release Notes, enter the following command at the HP-UX prompt:

$ more /opt/cadvise/newconfig/RelNotes/cadvise.release.notes 
For a quick list of options and their use, use the following cadvise option:

$ /opt/cadvise/bin/cadvise -help 
To access the cadvise (1) manpage, enter the following command at the HP-UX prompt:

$ man cadvise 
For information on the advanced analysis capabilities of the HP Integrity compilers that cadvise leverages, refer to the documentation for HP aC++/ANSI C version A.06.05 or later. You can visit the HP aC++ and HP C pages at the following links:

» http://www.hp.com/go/aCC
» http://www.hp.com/go/c

Technical Support

If you have a HP support contract for HP C or HP aC++ and you have a problem, follow the same process as you would report an issue for HP C or HP aC++.

If you would like to discuss any HP Code Advisor related issues with other users, you can join the HPUX-devtools mailing list. For more information, see the following page:

» HPUX-devtools

For a quick reply to your questions and problems in cadvise, you can send an email to the HP Code Advisor development team, at the following address: cadvise-help@lists.hp.com

Downloads Survey

Please take our survey prior to access HP Code Advisor Downloads Page:

» New User click here.
» Existing User click here.

Manage My AllianceOne Membership

 » Sign in
 » Join AllianceOne
 » Contact us