Engineering PapersSearch

NASA NTRS · 20150006916

Software Certification - Coding, Code, and Coders

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 (e.g., a coding standard) and tools. The code is mechanically checked against the standard 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.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Havelund, Klaus, Holzmann, Gerard J.. 2011-10-08. Software Certification - Coding, Code, and Coders. https://ntrs.nasa.gov/citations/20150006916

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related reports

Effects of Long-Duration Space Flight on Training Retention and Transfer

The space environment imposes on the astronaut crew significant physiological, psycho-social, and cognitive loads that can not be replicated on the ground. These loads likely impact crew performance. To date, no systematic data collection has taken place to understand the effects of such loads on crew members’ ability to retain trained knowledge and skills, and to transfer such knowledge and skills to novel situations. The research described here was originally requested by HRP management to be the first such study to systematically collect data on the effects of long duration space flight on training retention and transfer. Because current theories of retention and transfer are based on results obtained in university laboratories using undergraduate students as research participants, and because crew time in space is very expensive, this study was designed to compare the performance of 4 groups of subjects: crew members in space, crew members on the ground, crew-like subjects, and university undergraduate students. Results from the ground-phase of the study reported here demonstrate that crew members’ performance under cognitive load can not be predicted from the performance of university undergraduate students. It is still an open question the extent to which crew members’ cognitive performance in space can be predicted from the performance of crew members on the ground.

training

Training for Long-Duration Space Missions: A Literature Review into Skill Retention and Generalizability

In long-duration space missions, skill retention and generalizability become ever more important as mission length increases, for it is through these capabilities that astronaut crews achieve autonomy. A framework is proposed for future research based on three types of training commonly found in operational scenarios: initial training, refresher training, and just-in-time training. One of the key points of interest identified from the body of literature is the need for a structured and quantifiable approach to characterize skill decay. Such an approach would allow gaining a deeper understanding of the mechanisms through which skill decay operates. Because simulators are used extensively in all types of training, the effects of simulator fidelity on skill retention and generalizability are paramount to understand. Some common fidelity types are defined and their effects on the human operator are discussed. From a review of the literature on all these topics, several research gaps were identified that led to three key opportunities for future research: (1) developing skill decay functions provides theoretical insights into skill decay and allows for several practical applications, such as planning refresher training, (2) the effects of simulator fidelity on skill decay functions should be investigated empirically, and (3) investigating the generalizability of skills learned in initial training to other tasks could provide space crews with greater autonomy. A cybernetic approach might give new insights.

training