Identifying the requirement conflicts in SRS documents using transformer-based sentence embeddings
High quality software systems typically require a set of clear, complete and comprehensive requirements. In the process of software development life cycle, a software requirement specification (SRS) document lays the foundation of product development by defining the set of functional and nonfunctional requirements. It also improves the quality of software products and ensure timely delivery of the projects. These requirements are typically documented in natural language which might lead to misinterpretations and conflicts between the requirements. In this study, we aim to identify the conflicts in requirements by analyzing their semantic compositions and contextual meanings. We propose an approach for automatic conflict detection, which consists of two phases: identifying conflict candidates based on textual similarity, and using semantic analysis to filter the conflicts. The similarity-based conflict detection strategy involves finding the appropriate candidate requirements with the help of sentence embeddings and cosine similarity measures. Semantic conflict detection is an additional step applied over all the candidates identified in the first phase, where the useful information is extracted in the form of entities to be used for determining the overlapping portions of texts between the requirements. We test the generalizability of our approach using five SRS documents from different domains. Our experiments show that the proposed conflict detection strategy can capture the conflicts with high accuracy, and help automate the entire conflict detection process.
READ FULL TEXT