The SEI CERT Coding Standards wiki documents which 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 exist already. Here is the list of "Analyzers" pages for each space.
Space | Analyzers Page |
---|---|
C | EE. Analyzers |
C++ | CC. Analyzers |
Java | |
Perl | BB. Analyzers |
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 ... |
The information in these tables is periodically aggregated for each tool. A wiki page is then updated for each tool with the aggregated data, showing all of the rules/recs that the tool can detect. For example, the Clang page displays all of the rules/recs detected by various checkers in the Clang compiler.
This aggregation process is automatic. 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.
- 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.
At this time, information for all versions of a given tool are provided on the same tool page.