{'fraction_non_alphanumeric': 0.013666352497643733, 'fraction_numerical': 0.002827521206409048, 'mean_word_length': 5.512269938650307, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Fully Automated Approach to Requirement Extraction from Design Documents

Design documents are intended to outline the goals of a system or project, which are utilized in the creation of specific software requirements. At the NASA Jet Propulsion Laboratory, California Institute of Technology, Functional Design Description (FDD) documents describe the scope of the project and reflect the design and implementation of the system. The specifications in the document are not explicitly written as requirements, though these guidelines must be reflected in the official software requirements. In this work we present a fully automatic approach to extracting software requirements from design documents as well as comparing the extracted requirements to those that exist in the official software requirement database. We do this through (1) sentence extraction from the design document, (2) the incorporation of coreferent text, and (3) aligning the extracted text to the official software requirements. Via natural language processing and information retrieval techniques, our system results in an automated process that ensures that the specifications in the design document result in official software requirements. We find that extraction of imperatives results in a recall rate of 0.73 and the TF-IDF cosine similarity metric is shown to be a useful and successful way to compare requirements. Though there has been recent work investigating the usefulness of natural language processing techniques in requirement engineering, this has not been made use of in the aerospace industry. Aerospace requirement engineering is a field particularly ripe for this type of innovation because these techniques can both automate some of needlessly manual work and contribute to aerospace safety practices by identifying issues that a human may miss. We present the first fully automated approach that extracts requirements from a design document and compares them to a database, and use these findings as encouragement for future work that makes use of natural language processing techniques in aerospace requirement engineering.