Requirements and Specifications

Requirements Validation


Learning Objectives

  • You know what requirements validation is and why it is needed.

Requirements validation focuses on asserting whether the documented requirements matches the customer’s and stakeholders’ needs, checking that the requirements are complete correct, consistent, and unambiguous. The objective of requirements validation is to validate the (formal) requirements specification such as a software requirements specification document.

Although the validation is always done by humans, large language models can be used to help in validating requirements. For example, large language models can be used for completing requirements and for checking for ambiguities.

Note that large language models have a limited context length, which means that they can only use a limited amount of tokens as context when generating text. This is a limitation, as software requirements specification documents — and input in general — can be long, and thus, the models cannot always use the whole input as context when generating (or validating) text.

Newer large language models feature larger context lengths and can handle even hundreds of thousands of tokens.

It is possible, however, to try to divide and conquer. One possibility would be to work on each section of the document separately; a model could be used to work on the text for the introduction, the overall description, and the specific requirements, etc — it is a limitation, but not a showstopper. Even here, however, additional context — e.g. an abstract description of the overall case — is needed, which might take some time to refine.

When working with long text and large language models, one possibility is to first use a model to generate a summary of parts of the text, and then use the summary as a part of the input, replacing the parts that should not be focused on. This way, the context length is reduced, and the model can focus on the most important parts of the text.