Considere:

I. Cada incremento de software é especificado formalmente e essa especificação é transformada em uma implementação.

II. A correção de software é demonstrada por meio de uma abordagem formal.

III. Não existe teste de defeitos no processo e o teste do sistema concentra-se na avaliação da confiabilidade.

As três características acima pertencem a um processo formal de desenvolvimento de software, denominado