The SEI CERT Coding Standards wiki documents which analysis tools detect violations of which rules/recs. To edit or add to this information, follow these guidelines.
Adding a Tool Page
The tool of interest should have a page created under the "Analyzers" section of the backmatter, if one does not already exist. Here is the list of "Analyzers" pages for each space.
Space | Analyzers Page |
---|---|
C | EE. Analyzers |
C++ | CC. Analyzers |
Java | |
Perl | BB. Analyzers |
The page should be titled with the name of the analysis tool. The page will be automatically populated with the information that you provide on individual rule pages. You do not need to add any content to it.
Additionally, a "version" page should be created alongside the tool page. This paged is title "ToolName_V", should be populated with the version number of the tool. For example, GCC_V documents the version of the GCC compiler.
Editing Automated Detection Tables
Each rule/rec page has an "Automated Detection" (AD) section, describing which tools can detect violations of the rule/rec. This section contains a table. Each row of the table contains information for a specific version of a tool. A row in the AD table has the following format.
Tool | Version | Checker | Description |
---|---|---|---|
Hyperlinked name of the tool | The version of the tool | Checker Name 1 Checker Name 2 Checker Name 3 ... | Checker Description 1 Checker Description 2 Checker Description 3 ... |
Each tool wiki page is periodically (approximately weekly) updated with the aggregated data from these individual tables. This aggregation process is automatic (though not immediate). In order for the process to pick up your changes, you should adhere to certain guidelines when entering data into the AD tables.
- The Tool column contains the name of the tool, hyperlinked to the corresponding tool wiki page. The easiest way to populate this field is with the Link macro in Confluence. Simply insert a Link macro and point it towards the appropriate tool page.
- The Version column contains the version of the tool to which this information pertains. The easiest way to populate this field is with the "Include Page" macro in Confluence. You should include the version page associated with the tool into this cell.
- Each checker name should be provided on a separate line in the Checker column.
- Each checker description should be provided on a separate line in the Description column, adjacent to the associated checker.