Paper-1-Req-Conflict
README.md

Supervised Semantic Similarity-based Conflict Detection Algorithm: S3CDA


This repository contains code and dataset related to paper titled as Supervised Semantic Similarity-based Conflict Detection Algorithm: S3CDA.

Objective

The objective of this study is to find the conflicting requirements from SRS documents using supervised and unsupervised learning approaches. We divided our algorithm into 2 phases.

  • Phase 1: Similarity-based conflict detection
  • Phase 2: Semantic conflict detection

Repository Organisation


  • Data: This folder includes five separate directories named after each software requirement datasets which is having 3 trains and 3 test files respectively (Divided in 3 folds).

Dataset Conflicts (Yes) Non-Conflicts (No) Description
OpenCoss 20 97 Requirements for safety critical systems
UAV 36 80 Requirements for UAV control system
WorldVista 70 78 Requirements for health management system
PURE 40 27 Extracted from THEMAS (Thermodynamic System) and Mashbot (web interface for managing a company's presence on social networks) SRS documents
IBM-UAV 28 75 Extracted from IBM-DOORS software
  • Code: This folder contains all the source codes and example notebooks.

Getting Started


Clone this Github repository and open your command line to navigate the repository and code.

$ cd Paper_1_req_conflict
$ Paper_1_req_conflict/ cd Code
$ Paper_1_req_conflict/Code/  .....

Train the Phase-1 model using following steps:

  • open Conflict_unsupervised_demo.ipynb and import the utils files as shown in the file.
  • Extract the datasets provided in Conflict_unsupervised/Data/ directory.
  • Detect the conflicts using find_conflict_detect function. (for embeddings argument: 1 is for TFIDF, 2: SBERT+TFIDF 3:USE )
  • If you wish to change the SBERT checkpoint or USE model please change it in utils_conflict_unsupervised file.
  • For phase - 2 just use the candidate set from phase - 1 results and verify the conflicts using final_conflict function.
  • For detailed description please follow the steps in Conflict_unsupervised_demo.ipynb To download the all the necessary libraries please run the following commands
$ pip install -r requirements.txt

Note that these codes by default will run on CPU and it's recommended that you should use GPU services for faster execution times. Please follow the colab examples to get started.