Automatically Extracting Requirements Specifications from Natural Language.

2014 
Natural language (supplemented with diagrams and some mathematical notations) is convenient for succinct communication of technical descriptions between the various stakeholders (e.g., customers, designers, implementers) involved in the design of software systems. However, natural language descriptions can be informal, incomplete, imprecise and ambiguous, and cannot be processed easily by design and analysis tools. Formal languages, on the other hand, formulate design requirements in a precise and unambiguous mathematical notation, but are more difficult to master and use. We propose a methodology for connecting semi-formal requirements with formal descriptions through an intermediate representation. We have implemented this methodology in a research prototype called ARSENAL with the goal of constructing a robust, scalable, and trainable framework for bridging the gap between natural language requirements and formal tools. The main novelty of ARSENAL lies in its automated generation of a fully-specified formal model from natural language requirements. ARSENAL has a modular and flexible architecture that facilitates porting it from one domain to another. ARSENAL has been tested on complex requirements from dependable systems in multiple domains (e.g., requirements from the FAAIsolette and TTEthernet systems), and evaluated its degree of automation and robustness to requirements perturbation. The results provide concrete empirical evidence that it is possible to bridge the gap between stylized natural language requirements and formal specifications with ARSENAL, achieving a promising level of performance and domain independence.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    35
    References
    22
    Citations
    NaN
    KQI
    []