Static Code Analysis Plug-insHudson understands the result files of several static code analysis tools. For each result file a different plug-in is used for configuration and parsing. Since these results are visualized by the same back-end, the description of this back-end is combined in this section. The following plug-ins use the same visualization:
When the plug-ins are active (both freestyle and m2 builds are supported) and the build is configured to run the corresponding analysis tool, then for each build a summary result trend is shown on a job's main view. Additionally, for each plug-in a link is provided in the side panel to directly jump to the results of the latest build. Note that these plug-ins normally get built in the site phase, not in the 'normal' package phase. The hudson configuration help for the plugin specifies which goal you'll have to add to your maven build options a bit further up on the same page.
Trend GraphsThere are several trend graphs available for the plug-ins. Currently, you can select one of the following trend graphs for a job:
You can adjust the size of graph and the number of builds to include. These graphs can be configured globally for a job and can be changed by each user. Build SummaryThe results for each build are summarized on the build view. Here you see how may warnings or open tasks have been found for the selected build. Moreover, the summary shows the number of new and fixed warnings as well as the number of scanned or parsed files. The details views for each plug-in are accessible via hyper links. You can also directly navigate to the plug-in results by clicking into the trend image (see image above).
Result OverviewEach plug-in presents the results of a build in several overview tabs: here you see the number of the warnings or tasks per item as well as the severity distribution. The severity graphs provide a tool tip to show the actual number of warnings or tasks for each severity. By following the link in the first overview table column you will be directed to the filtered details of the selection. The overview table is sortable, so you can easily find the modules or packages with the most warnings by clicking on the table header.
Result DetailsThe details of the individual warnings are shown in the remaining tabs. In the Details tab you will see all warnings of the current selection (e.g., a given package) printed one after another. For each warning you will see the warning message and a detailed description (with example) of the static analysis tool. If you are viewing the results of the current build then the file names are hyperlinks: clicking on the file name will open the actual source code with the selected warning highlighted. !analysis-datails.png! The detail tabs in the other plug-ins are equivalent, click on the thumbnails below to view a screenshot of these tabs. Besides this details tab there are additional tabs that show the details for a filtered sub-set of the warnings or tasks. I.e., the tabs high, normal, and low show the details of the selected severity, while the tabs new and fixed show warnings in the current build that are new or fixed, respectively. Finally, the tab Warnings shows a sortable table of all warnings. Here you can sort the warnings by all available attributes to decide which warnings should be looked at in more detail. The warning message and description is shown when hoovering over the cell content.
Source Code VisualizationThe actual warning is visualized in the source code view (with syntax highlighting). Some warnings have several source code markers attached. In this case, the primary range of the warnings is colored with orange, the remaining ranges are colored with yellow. When hoovering over a colored warning annotation, then the warning message and detailed description is shown in a tool tip. !findbugs-source-code.png! |






Comments (1)
Nov 20
Pascal Gelinas says:
I've just started using these plug-ins for our build process and I've been wonde...I've just started using these plug-ins for our build process and I've been wondering if there is a way to aggregate the reports in an upstream project, just like the "Aggregate test report" does.
I have a build configuration like this one: Project A is upstream and Project B and C are downstream of A. Project A is like the real project where B and C are sub-modules. Project A doesn't really have any source code or tests, it just polls the SCM and launch the build for B and C, then aggregate their test result. I'd like to do the same for the reports generated by the static analyzer but I haven't found a way to do it yet. Any ideas?