HP Code Advisor
From Wikipedia, the free encyclopedia
HP Code Advisor or cadvise (pronounced c-advise) 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. HP Code Advisor leverages the advanced analysis capabilities of HP C and HP aC++ compilers available on the HP Integrity systems.
Contents |
[edit] Major Features
[edit] Advanced Static Code Analysis
HP Code Advisor is a powerful static code analysis tool that automatically diagnoses various issues in a source program. 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.
[edit] 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.
[edit] Security Vulnerability Checks
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.
[edit] Porting and Migration
The Code Advisor identifies the potential problems in converting applications from 32-bit to 64-bit. The porting help is also available in 32-bit mode.
The Code Advisor identifies instances where different endianness might produce different results. These instances are very difficult to find manually.
Migrating applications from PA-RISC to HP Integrity systems is much easier with the help of HP Code Advisor. HP Code Advisor identifies the differences between the two compilers and helps porting the code to HP Integrity systems without leaving the familiar PA-RISC environment.