Title :
Software certification - coding, code, and coders
Author :
Havelund, Klaus ; Holzmann, Gerard J.
Author_Institution :
Lab. for Reliable Software (LaRS), California Inst. of Technol., Pasadena, CA, USA
Abstract :
We describe a certification approach for software development that has been adopted at our organization. JPL develops robotic spacecraft for the exploration of the solar system. The flight software that controls these spacecraft is considered to be mission critical. We argue that the goal of a software certification process cannot be the development of “perfect” software, i.e., software that can be formally proven to be correct under all imaginable and unimaginable circumstances. More realistically, the goal is to guarantee a software development process that is conducted by knowledgeable engineers, who follow generally accepted procedures to control known risks, while meeting agreed upon standards of workmanship. We target three specific issues that must be addressed in such a certification procedure: the coding process, the code that is developed, and the skills of the coders. The coding process is driven by standards. The code is mechanically checked against the standards with the help of state-of-the-art static source code analyzers. The coders, finally, are certified in on-site training courses that include formal exams.
Keywords :
program testing; program verification; software reliability; coder; coding process; software certification; software development process; static source code analyzer; Certification; Encoding; Programming; Software; Software reliability; Standards; Coding standards; code review; logic model checking; safety- and mission-critical software.; static source code analysis; unit testing;
Conference_Titel :
Embedded Software (EMSOFT), 2011 Proceedings of the International Conference on
Conference_Location :
Taipei
Print_ISBN :
978-1-4503-0714-7