Using Linguistic Knowledge to Classify Non-functional Requirements in SRS documents

Non-functional Requirements (NFRs) such as software quality attributes, software design constraints and software interface requirements hold crucial information about the constraints on the software system under development and its behavior. NFRs are subjective in nature and have a broad impact on the system as a whole. Being distinct from Functional Requirements (FR), NFRs are dealt with special attention, as they play an integral role during software modeling and development. However, since Software Requirements Specification (SRS) documents, in practice, are written in natural language, solely holding the perspectives of the clients, the documents often end up with FR and NFR statements mixed together in the same paragraphs. It is, therefore, left upon the software analysts to classify and separate them manually. The research, presented in this paper, aims to automate the process of detecting NFR sentences by using a text classifier equipped with a part-of-speech (POS) tagger. The results reported in this paper outperform the recent work in the field, and achieved a higher accuracy of 98.56% using 10-folds-cross-validation over the same data used in the literature. The research reported in this paper is part of a larger project aimed at applying Natural Language Processing techniques in Software Requirements Engineering.

[1]  E. L. Harder,et al.  The Institute of Electrical and Electronics Engineers, Inc. , 2019, 2019 IEEE International Conference on Software Architecture Companion (ICSA-C).

[2]  Alberto Maria Segre,et al.  Programs for Machine Learning , 1994 .

[3]  Ian Witten,et al.  Data Mining , 2000 .

[4]  Ian H. Witten,et al.  Data mining: practical machine learning tools and techniques, 3rd Edition , 1999 .

[5]  Eric Brill,et al.  A Simple Rule-Based Part of Speech Tagger , 1992, HLT.

[6]  Dan Klein,et al.  Accurate Unlexicalized Parsing , 2003, ACL.

[7]  Jane Cleland-Huang,et al.  The Detection and Classification of Non-Functional Requirements with Application to Early Aspects , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[8]  Lars Rosenhainer Identifying Crosscutting Concerns in Requirements Specifications , 2004 .

[9]  Klara Nahrstedt,et al.  Quantifying non-functional requirements: a process oriented approach , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[10]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[11]  Sam Supakkul,et al.  Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach , 2006, 2006 IEEE International Conference on Information Reuse & Integration.

[12]  Julio Cesar Sampaio do Prado Leite,et al.  The world?s a stage: a survey on requirements engineering using a real-life case study , 1999, J. Braz. Comput. Soc..

[13]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[14]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

[15]  Julio Cesar Sampaio do Prado Leite,et al.  Non-functional requirements: from elicitation to modelling languages , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[16]  Olga Ormandjieva,et al.  Automatic Quality Assessment of SRS Text by Means of a Decision-Tree-Based Text Classifier , 2007 .