Abstract:
The interaction between requirements that can result in a bad or undesirable output of the system is known as requirement conflict. The most common causes of software failure in system development are requirements issues. One of these issues is requirement conflicts, which result in expensive costs and a long development time. This is because contradicting requirements make it difficult to design, test, and maintain a software system, which almost always results in software failure. Using manual and semi-automated methods, many software engineering researchers attempted to overcome the challenge of detecting conflicting requirements. We've suggested a machine learning-based model for detecting conflicts between non-functional requirements in a Software Requirement Specification (SRS) document. To build the model for identifying non-functional requirement conflicts, text preprocessing, vectorization, and classification are included. The text from the document is preprocessed into a series of words for sentence representation using natural language processing (NLP). Then, using vectorization techniques to give words weight, a series of words is stored in numeric representation and utilized as input for classification algorithms. The prepared dataset is used to test traditional machine learning and deep learning classification techniques. Bi-LSTM with pre-trained SO word2vec embedding performs 84.74 % accurately, according to a comparative experimental investigation. Future research directions in the problem domain include identifying the relationship between quality qualities and resolving nonfunctional requirements through experiments. Increase the number of datasets used to train the model to improve the model.