The Power of Ten—Rules for Developing Safety Critical Code
Gerard J. Holzmann · 2018
We introduced the Power of Ten coding rules in a column that appeared in June 2006, in IEEE Computer. Two years later, the rules became part of the official institutional coding standard that JPL adopted for mission-critical flight software development. Since then, this set of rules has been used for the development of two large space exploration missions, and a number of smaller ones. The first of the larger projects was the Mars Science Lab mission that safely landed the Curiosity Rover on the surface of Mars in August 2012. The flight software for that mission alone reached about three million lines of code: more than all missions to Mars that preceded it combined. With the benefit of close to a decade's worth of hindsight, we discuss the 10 original rules, and we will consider some of the objections that have been raised against individual rules. For some of the rules we will also show where the particulars of rule enforcement were modified somewhat in response to feedback from developers and mission managers