The Power of 10 Rules were created in 2006 by the NASA/JPL Laboratory for Reliable Software. The rules are intended to eliminate certain C coding practices which make code difficult to review or statically analyse. These rules are a complement to the MISRA C guidelines and have been incorporated into the greater set of JPL coding standards.
Developed by Emenda, the Klocwork NASA Power of 10 Taxonomy, allows for the checking and reporting of violations to the power of 10 rules for developing safety-critical code.
To request a copy of the taxonomy, please fill out the contact form at the bottom of this page.
What is a Taxonomy?
A taxonomy is an organisational structure for your analysis results. They allow you to view the results of your build analysis in unlimited ways. As most Klocwork Users are aware, there are three default taxonomies: C and C++, Java, and C#. Each taxonomy contains multiple categories, and each category contains multiple issue types. A Klocwork administrator can create or import taxonomies, each with a distinct set of checkers, to match an organisation’s reporting needs – in this case violations of the NASA Power of 10 rules, currently using the existing checkers available to Klocwork Users.
Installing the Taxonomy
- Log in to Klocwork Static Code Analysis.
- In Klocwork Static Code Analysis‘s project list, click the project you want to upload the taxonomy to.
- In the project details, click Configuration.
- On the Configuration page, click Add a configuration file.
- In the Choose file dialog, browse to the nasa_power_of_ten.tconf Taxonomy file.
- Click Upload.
- The NASA Power of Ten taxonomy appears in the tree.
- Expand the NASA Power of Ten taxonomy and make sure that all the required checkers are enabled.
- Click the save Icon.
- If you have enabled any new checkers, the next Klocwork analysis will show the new results.
To use this taxonomy, Klocwork 2017 or later is required along with the MISRA Checker package (included with Klocwork). Details for installing the MISRA Checkers can be found here.