A variation of Ada, SPARK is a formally defined language whose main purpose is the development of software for high profile safety-critical systems such as those used in aviation and in space applications. To ensure your solution’s safety and security, you can use its contracts to dynamically verify the specification of its components. 

SPARK is a formally defined computer programming language based on the Ada programming language, intended for the development of high integrity software used in systems where predictable and highly reliable operation is essential. It facilitates the development of applications that demand safety, security, or business integrity.