Formalising Software Requirements using Large Language Models
This addresses the problem of improving software reliability and efficiency for developers and engineers, but it is incremental as it builds on existing methods in requirements engineering.
The paper introduces the VERIFAI project, which tackles the challenge of traceability and verification in software requirements by automatically generating formal specifications and tracking requirements from design to implementation, using approaches like NLP, ontologies, reuse, and large language models.
This paper is a brief introduction to our recently initiated project named VERIFAI: Traceability and verification of natural language requirements. The project addresses the challenges in the traceability and verification of formal specifications through providing support for the automatic generation of the formal specifications and the traceability of the requirements from the initial software design stage through the systems implementation and verification. Approaches explored in this project include Natural Language Processing, use of ontologies to describe the software system domain, reuse of existing software artefacts from similar systems (i.e. through similarity based reuse) and large language models to identify and declare the specifications as well as use of artificial intelligence to guide the process.