Abstract

Formal verification uses mathematically rigorous techniques to establish the correctness of an algorithm or model. While traditional testing shows the presence of defects, it cannot guarantee the absence of defects in a design. Formal verification, on the other hand, can guarantee the absence of defects concerning a set of desirable properties, or provide counter-examples where the properties do not hold. Despite its value, it is not commonly used due to various reasons. This paper discusses two major reasons and proposes solutions for them. The first reason is the difficulty in deriving the proof obligations, the properties to be proved, from the textual requirements. The second hindrance is the additional effort in developing the infrastructure for formal verification. The paper proposes a Natural Language Processing (NLP) based approach to automatically suggest the proof obligations from the textual requirements to remove the first hindrance. They are expressed in propositional, Linear-time Temporal Logic (LTL), and a few customized expressions. The paper also provides methods for converting these obligations into verification subsystems which enable model checking, a method of formal verification to be invoked on the design model, thereby alleviating the second hindrance. The approach and methods are explained in the context of a flight control system's fault handling and safety requirements.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call