Formal Verification of Spacecraft Control Programs Using a Metalanguage for State Transformers

02/06/2018
by   Andrey Mokhov, et al.
0

Verification of functional correctness of control programs is an essential task for the development of space electronics; it is difficult and time-consuming and typically outweighs design and programming tasks in terms of development hours. We present a verification approach designed to help spacecraft engineers reduce the effort required for formal verification of low-level control programs executed on custom hardware. The approach uses a metalanguage to describe the semantics of a program as a state transformer, which can be compiled to multiple targets for testing, formal verification, and code generation. The metalanguage itself is embedded in a strongly-typed host language (Haskell), providing a way to prove program properties at the type level, which can shorten the feedback loop and further increase the productivity of engineers. The verification approach is demonstrated on an industrial case study. We present REDFIN, a processing core used in space missions, and its formal semantics expressed using the proposed metalanguage, followed by a detailed example of verification of a simple control program.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/01/2019

A benchmark for C program verification

We present twenty-five C programs, as a benchmark for C program verifica...
research
04/22/2021

Cameleer: a Deductive Verification Tool for OCaml

OCaml is particularly well-fitted for formal verification. On one hand, ...
research
06/26/2018

Formal Verification of Usage Control Models: A Case Study of UseCON Using TLA+

Usage control models provide an integration of access control, digital r...
research
08/24/2017

Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study

Widely used complex code refactoring tools lack a solid reasoning about ...
research
05/17/2022

Formal verification of an industrial UML-like model using mCRL2 (extended version)

Low-code development platforms are gaining popularity. Essentially, such...
research
05/22/2019

A Quick Introduction to Functional Verification of Array-Intensive Programs

Array-intensive programs are often amenable to parallelization across ma...
research
05/28/2017

Extending programs with debug-related features, with application to hardware development

The capacity and programmability of reconfigurable hardware such as FPGA...

Please sign up or login with your details

Forgot password? Click here to reset