ImProve is an imperative programming language for high assurance applications.
ImProve uses infinite state, unbounded model checking to verify programs adhere
to specifications. Yices (required) is the backend SMT solver.
ImProve compiles to C, Ada, Simulink, and Modelica.