Skip to main content

O que é verificação formal?

Freqüentemente usada no teste de circuitos de computadores e software, a verificação formal ocorre quando a função desses sistemas é analisada usando fórmulas matemáticas. No caso de desenvolvimento de software, o processo geralmente é usado para mostrar se o programa está funcionando corretamente, com base em um modelo pré-determinado. Às vezes, o modelo teórico é provado insatisfatório. Além do código fonte do software, a verificação formal pode ser usada no desenvolvimento de circuitos combinacionais, que são usados ​​para realizar cálculos em computadores, bem como na memória do computador. As diferentes abordagens incluem verificação posterior, verificação paralela e verificação integrada, além de vários métodos.

Procedimentos matemáticos para cálculos, chamados algoritmos, são usados ​​na verificação formal para testar as funções dos produtos em cada estágio do desenvolvimento. Os desenvolvedores de software podem encontrar erros ou bugs no código-fonte e no modelo usado para construí-lo em primeiro lugar. Às vezes, mudanças fundamentais na forma como o código está sendo gravado podem ser feitas antes que um erro de design afete o resultado final. A etapa de verificação geralmente ajuda a determinar se o produto está fazendo o que foi planejado e atende às especificações do aplicativo a que se destina.

A verificação formal pode ocorrer quando um produto é concluído, chamado de verificação após o fato. Um método padrão, usado durante todo o processo de design e desenvolvimento, não é analisado até que o sistema seja concluído. A localização de erros graves nesse estágio geralmente leva a revisões caras e demoradas. O desenvolvimento e a verificação também podem ser realizados por duas equipes separadas para verificação em paralelo. Por meio da intercomunicação, os desenvolvedores podem se concentrar em tarefas independentes durante todo o processo de design.

A verificação integrada é quando uma equipe realiza o desenvolvimento e a avaliação necessária. Conceitos matemáticos complexos são frequentemente usados ​​para verificar as capacidades do produto ao longo do caminho. Os métodos de verificação formal variam entre os projetos, mas um frequentemente usado é a verificação do modelo. Um modelo de hardware ou software consiste em várias propriedades que os designers desejam no produto final. O modelo e o sistema podem ser verificados periodicamente para ver se as propriedades correspondem.

Outra técnica na verificação formal envolve o uso de fórmulas matemáticas e lógica para representar um sistema e suas propriedades. Regras definidas em um sistema formal são geralmente encontradas na lógica. Ambas as técnicas utilizam vários meios para determinar se uma especificação específica de um produto é atendida. Os desenvolvedores podem usar diferentes tipos de software no processo formal de verificação, cada um adaptado a um sistema ou linguagem de programação específica.