A Natural Language Processing Based Approach Using Stochastic Petri Nets for Understanding Software Requirement Specifications - Rinku S, Ashtankar; Warsha M, Choudhari (International Journal of Computer Sciences and Engineering, 2025)
Language is a hallmark of intelligence, and endowing computers with the ability to analyze and generate language as a field of research is known as Natural Language Processing (NLP) - has been the dream of Artificial Intelligence. Software requirements are typically captured in natural languages (NL) such as English and then analyzed by software engineers to generate a formal software design/model. However, English is syntactically ambiguous and semantically inconsistent. Hence, English specifications of software requirements cannot only result in erroneous and absurd software designs and implementations but, the informal nature of English is also a main obstacle in machine processing of English complex specification of the software requirements. To tackle this key dispute, there is need to introduce a controlled NL representation for software requirements, to generate perfect and consistent software models. Proposed framework aims to model complex software requirements expressed in natural language and represent them with a new methodology that captures the natural language understanding(NLU) of events and models them using Stochastic Petri Nets (SPN) instead of only intermediate graph based structure using techniques of Natural Language Processing (NLP), this helps in removing ambiguity and corrects interpretation of requirements. To eliminate ambiguity, work combines all the different meanings (SPN graphs) of each ambiguous sentence into colored SPN graph. SPNs are state machines that help us to visualize better, the combined SPN graph. It can also represent knowledge about the requirement, which can be used to derive test case in early development phase. Hence aim of proposed work is twofold that overcomes the problem of ambiguity and knowledge representation. Stakeholder’s document is input to framework, pre-processed by some pre-filter with certain functionality to improve the parsing. This parsed output gets converted into simple graph which in turn is converted into SPN graph with color representation to improve ambiguity. Pre-filter may be designed with self-learning capabilities to perk up output without human involvement.