Classification of Non-functional Requirements from SRS Documents Using Thematic Roles
A software requirements specification (SRS) contains all the requirements for a system-to-be. These are typically separated into functional requirements (FR), which describe the features of the system under development, and the non-functional requirements (NFR), which include quality attributes, design constraints, among others. It is well known that NFRs have a large impact on the overall cost and time of the system development process, as they frequently describe cross-cutting concerns. In order to improve software development support, an automated analysis of SRS documents for different NFR types is required. Our work contains two significant contributions towards this goal: (1) A new gold standard corpus containing annotations for different NFR types, based on a requirements ontology, and (2) a Support Vector Machine (SVM) classifier to automatically categorize requirements sentences into different ontology classes. Results obtained from two different SRS corpora demonstrate the effectiveness of our approach.