JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.0p0 Hot Tips | CONFIDENTIAL | CodeSecure Inc |
| Java | CodeSonar can now build and analyze projects based on Java code. |
|---|---|
| Treemap Visualization | The visualization tool has been extended to include a Treemap layout option. |
| License Management | CodeSonar licenses are no longer managed through FLEXlm. Instead, license management is handled directly by CodeSonar. |
| Warning Classes | One new C/C++ warning class: Coercion Alters Value. The new Java capability includes a broad range of Java-specific warning classes. |
| Performance Improvements | Analysis result submission to the hub is significantly faster than previously, especially when the hub is on a remote system. |
| Increased Build Parallelism Capacity | Over 500 concurrent parse processes can now be used during the CodeSonar project build, where previously the maximum was below 100. For projects based on normal software builds with this degree of parallelism, the analysis will be orders of magnitude faster in some cases. |
| GUI | Several GUI pages have extended functionality. |
| API | There are no changes to the general-purpose API, plug-in API, or extension API in this release. Note, however, that none of these are currently supported for Java projects, or for the Java parts of mixed projects. |
| CWE | This version of CodeSonar uses CWE version 2.3, published October 30, 2012. See the CWE section for further information about CWE in CodeSonar. |
| Configuration Parameter Changes | Two configuration parameters have been added and two have been modified. None have been deleted. |
CodeSonar can now build and analyze projects based on Java code.
| Building/Analyzing |
CodeSonar projects are built from Java bytecode; analysis
results are then mapped back to source code so that
human-readable Warning
Reports can be produced.
Java projects can only be built from the command line. Mechanisms for passing command line options through to FindBugs or PMD are provided. The Windows build wizard is not currently supported but is expected to be supported in future releases. For full details, see Build and Analysis for Java Projects. |
|---|---|
| Alerts | There are several new, Java-specific alerts: For troubleshooting information, see Build and Analysis for Java Projects: Resolving Alerts. |
| Warning Classes |
The CodeSonar Java analysis makes use of two third-party tools:
FindBugs™ and PMD. The new Java warning
classes correspond to FindBugs bug patterns and to
PMD rules, and have mnemonics of the form FB.* and
PMD.*, respectively.
|
| Metrics | CodeSonar computes metrics for Java code. |
| Visualization | CodeSonar's interactive program visualization tool can be used with Java projects. |
| API | The various CodeSonar APIs (general-purpose, plug-in, and extension) are not currently supported for Java projects, or for the Java parts of mixed projects. |
The visualization tool has been extended to include a Treemap layout option. The Treemap depicts program and directory structure, with call graph information overlaid. Node size (area) reflects a user-selected metric : by default, area is proportional to LCode. Nodes of size 0 are not displayed.
In consequence:
CodeSonar licenses are no longer managed through FLEXlm. Instead, license management is handled directly by CodeSonar.
There are two kinds of license.
For information on setting up and managing licenses, including troubleshooting information, see the manual page for your license type:
New C/C++ warning class Coercion Alters Value identifies locations where an implicit coercion operation causes a value to be changed.
There are also a large number of new Java-specific warning classes.
The following GUI page types have been added or modified.
| all pages | The standard page footer now provides a licensing details link (which navigates to the License Utilization page) rather than listing license details directly. |
|---|---|
| Visualization Tool |
New features:
|
| Analysis | The Visualization section now contains a treemap link along with the call graph link that was previously present. |
| License Utilization |
New features (only available for users logged in as
Administrator, otherwise a Configure
License link is provided):
|
| Project | The Visualization section now contains a treemap link along with the call graph link that was previously present. |
Two configuration parameters have been added and one has been modified. None have been deleted.
The following new configuration parameters have been introduced.
| Parameter | Purpose |
|---|---|
| PRETEND_FLOAT_IS_INT | Specifies whether the analysis should treat floating point typed values as integral typed values. |
| REACHABILITY_ROOTS | Specifies the procedures from which reachability information is computed for interpreting WARNING_FILTER reachable rules. |
The following configuration parameters have been modified.
| Parameter | Change |
|---|---|
| ANALYSIS_SLAVES | For ANALYSIS_SLAVES=Auto, CodeSonar now includes file system cache memory (on Linux and Solaris) and "inactive" pages (OS X) in its definition of "free physical memory" when determining the appropriate maximum number of slaves. |
| WARNING_FILTER | New reachable= rule type added. |
| 9224 | License errors after refreshing license on hub |
| 9500 | Incremental builds have leftover postq.* files |
| 9520 | Analysis crash: htmldump_render_line( usage_sfid, xt->line, ppcatbuf ) exited with CS_ERROR_IO_SEEK |
| 9671 | cprocess stuck traverse_constant |
| 9992 | Add support for bugzilla 4.X to bugzilla warning processor |