An automatic tool for the analysis of natural language requirements (original) (raw)

QuARS: A Tool for Analyzing Requirements

2018

Numerous tools and techniques are available for managing requirements. Many are designed to define requirements, provide configuration management, and control distribution. However, there are few automatic tools to support the quality analysis of natural language (NL) requirements. Ambiguity analysis and consistency and completeness verification are usually carried out by human reviewers who read requirements documents and look for defects. This clerical activity is boring, time consuming, and often ineffective. This report describes a disciplined method and a related automated tool that can be used for the analysis of NL requirements documents. The tool, called the Quality Analyzer for Requirements Specifications (QuARS), makes it easier to extract structured information and metrics for detecting linguistic inaccuracies and defects. QuARS allows requirements engineers to perform an initial parsing of requirements by automatically detecting potential linguistic defects that can caus...

An experience in using a tool for evaluating a large set of natural language requirements

Proceedings of the 2010 ACM Symposium on Applied Computing - SAC '10, 2010

Requirements analysis is an important phase in a software project. It is often performed in an informal way by specialists who review documents looking for ambiguities, technical inconsistencies and incompleteness. Automatic evaluation of Natural Language (NL) requirements documents has been proposed as a means to improve the quality of the system under development. We show how the tool QUARS EXPRESS, introduced in a quality analysis process, is able to manage complex and structured requirement documents containing metadata, and to produce an analysis report rich of categorized information that points out linguistic defects and indications about the writing style of NL requirements. In this paper we report our experience using this tool in the automatic analysis of a large collection of natural language requirements, produced inside the MODCONTROL project.

2.4.2 QuARS: Automated Natural Language Analysis of Requirements and Specifications

INCOSE International Symposium, 2005

Requirements analysis is a nontrivial, tedious, error prone and time consuming process. This paper describes a tool that automates identification of requirements defects that exist because of inadequate use of language for the purpose intended. The paper also describes results of using the tool on actual requirements documents from different industries. Our results show that the tool identifies defects that often escape detection by human inspectors.

Achieving quality in natural language requirements

1998

We present a proposal of a quality model for natural language requirements that concentrates on linguistic properties of requirements documents. We deploy the quality framework of Krogstie et al. as a superordinate rationale supporting the design of a quality model. At the same time, the quality model is intended to cover and classify the corpus of linguistic techniques proposed in the literature for the analysis of requirements. As a result, we have identi ed a number of factors and criteria that a ect the overall linguistic quality of requirements documents. Our model can thus be used to choose the most appropriate techniques to apply in order to reach a desired quality level.

Toward a text classification system for the quality assessment of software requirements written in natural language

Fourth international workshop on Software quality assurance in conjunction with the 6th ESEC/FSE joint meeting - SOQUA '07, 2007

Requirements Engineering (RE) is concerned with the gathering, analyzing, specifying and validating of user requirements that are documented mostly in natural language. The artifact produced by the RE process is the software requirements specification (SRS) document. The success of a software project largely depends on the quality of SRS documentation, which serves as an input to the design, coding and testing phases. This paper approaches the problem of the automatic quality assessment of textual requirements from an innovative point of view, namely the use of the Natural Language Processing (NLP) text classification technique. The paper proposes a quality model for the requirements text and a text classification system to automate the quality assessment process. A large study evaluating the discriminatory power of the quality characteristics and the feasibility of an annotated tool for the automatic detection of ambiguities in requirements documentation is presented. The study also provides a benchmark for such an evaluation and an upper bound on what we can expect automatic requirements quality assessment tools to achieve. The reported research is part of a larger project on the applicability of NLP techniques to assess the quality of artifacts produced in RE.

Automated review of natural language requirements documents

Proceeding of the 2nd annual conference on India software engineering conference - ISEC '09, 2009

We present an approach to automating some of the quality assurance review of software requirements documents, and promoting best practices for requirements documentation. The system we describe-the Requirements Analysis Tool (RAT)has been deployed and is currently being used in pilot projects with large and complex requirements documents. Preliminary results indicate a reduction in time needed to review documents and reduction in requirements defects as well as a change in the way users think about writing requirements. Our approach allows users to write requirements in natural language instead of an artificial formalism. RAT enforces requirements documentation best practices such as using standardized syntaxes and internallyconsistent use of terminology. It supports the use of userextensible glossaries to define terms. The formalism driving RAT is a state-machine, which is used to classify requirements into types based on keywords and then verify that the requirements follow one of the best practice syntaxes supported by the tool. It generates helpful warning messages explaining where requirements are not following best practices and suggests ways to rectify.

Automated detection of language issues affecting accuracy, ambiguity and verifiability in software requirements written in natural language

Proceedings of the NAACL HLT 2010 …, 2010

Most embedded systems for the avionics industry are considered safety critical systems; as a result, strict software development standards exist to ensure critical software is built with the highest quality possible. One of such standards, DO-178B, establishes a number of properties that software requirements must satisfy including: accuracy, non-ambiguity and verifiability. From a language perspective, it is possible to automate the analysis of software requirements to determine whether or not they satisfy some quality properties. This work suggests a bounded definition for three properties (accuracy, non-ambiguity and verifiability) considering the main characteristics that software requirements must exhibit to satisfy those objectives. A software prototype that combines natural language processing (NLP) techniques and specialized dictionaries was built to examine software requirements written in English with the goal of identifying whether or not they satisfy the desired properties. Preliminary results are presented showing how the tool effectively identifies critical issues that are normally ignored by human reviewers.

Automated Natural Language Requirements Analysis using General Architecture for Text Engineering (GATE) Framework

Journal of Telecommunication, Electronic and Computer Engineering, 2017

Stakeholders exchange ideas and describe requirements of the system in natural language at the early stage of software development. These software requirements tend to be unclear, incomplete and inconsistent. However, better quality and low cost of system development are grounded on clear, complete and consistent requirements statements. Requirements boilerplate is an effective way to minimise the ambiguity from the natural language requirements. But manual conformance of natural language requirements with boilerplate is time consuming and difficult task. This paper aims to automate requirements analysis phase using language processing tool. We propose a natural language requirement analysis model. We also present an open source General Architecture for Text Engineering (GATE) framework for automatically checking of natural language requirements against boilerplates for conformance. The evaluation of proposed approach shows that GATE framework is only capable of detecting ambiguity ...

An NLP Based Requirements Analysis tool

Application of Natural Language processing to requirements gathering to facilitate automation has only limited explorations so far. This paper describes a Natural Language based tool which aims at supporting the analysis stage of software development in an object oriented framework. This paper is built on the foundation of existing mappings between natural language elements and Object oriented concepts. The tool named R-TOOL analyses software elicited requirements texts written in English to generate actors, use cases, classes, attributes, methods and relationship between the classes leading to the generation of class diagrams. This paper discusses initial experimental results which are encouraging and outlines further research plan to help to improve the system which will have the potential to play an important role in the software development process.

A Bird’s Eye View of Natural Language Processing and Requirements Engineering

2021

Natural Language Processing (NLP) has demonstrated effectiveness in many application domains. NLP can assist software engineering by automating various activities. This paper examines the interaction between software requirements engineering (RE) and NLP. We reviewed the current literature to evaluate how NLP supports RE and to examine research developments. This literature review indicates that NLP is being employed in all the phases of the RE domain. This paper focuses on the phases of elicitation and the analysis of requirements. RE communication issues are primarily associated with the elicitation and analysis phases of the requirements. These issues include ambiguity, inconsistency, and incompleteness. Many of these problems stem from a lack of participation by the stakeholders in both phases. Thus, we address the application of NLP during the process of requirements elicitation and analysis. We discuss the limitations of NLP in these two phases. Potential future directions for...