loading page

Natural Language Processing to Assess Structure and Complexity of System Requirements
  • Maximilian Vierlboeck ,
  • Roshanak Nilchiani ,
  • Mark Blackburn
Maximilian Vierlboeck
Author Profile
Roshanak Nilchiani
Author Profile
Mark Blackburn
Author Profile


The development process of a system is shaped by many variables that influence the progress and outcome. As a result, complexity can increase throughout the development process with potential negative consequences, which makes the handling of complexity critical. Most development processes begin with the definition of needs and requirements, and in this paper, the authors present a novel approach that allows for the automated extraction of structure from requirement specifications. This approach uses Natural Language Processing to elicit three structural layers from a set of requirements and subsequently analyzes them with metrics used to assess complexity. In a case study, the approach is illustrated using a set of 79 requirements in which 246 individual entities are identified. These entities, as well as the requirements are structured and analyzed using network density and spectral entropy. The metrics allow for interpretation and insight generation, such as an increase in the number of potentially problematic loops. The approach achieved a detection and structural accuracy of over 98 percent for the given case study and is planned to be expanded with future cases.