Dependency Detector (OpenReq-DD)

GitHub: https://github.com/OpenReqEU/dependency-detection

The goal of the OpenReq Dependency Detector (OpenReq-DD) component is to automatically detect requirement dependencies, no matter the type of dependencies they are. The core of this service is based on an ontology which defines dependency relations between specific terminologies related to the domain of the requirements. Using this information, it is possible to apply Natural Language Processing techniques to extract meaning from requirements and relations, and Machine Learning techniques in order to apply conceptual clustering, with the major purpose of classifying these requirements into the defined ontology. Once the requirements are classified in the ontology, the ontology is traversed to see how the requirements are related. For instance, if requirements A and B are classified in two concepts that are related in the ontology with the relationship type conflicts, the OpenReq-DD infers that requirements A and B have a dependency of type conflicts with each other. Figure 1 shows the sequence of steps that OpenReq-DD performs to extract requirement dependencies. The type of dependencies that OpenReq-DD is able to detect is open, provided that they appear in the ontology given as input to the microservice.

Figure 1: OpenReq-DD algorithm overview [1]


References

[1]  Q. Motger, R. Borrull, C. Palomares, J. Marco "OpenReq-DD: A Requirements Dependency Detection Tool", in 2nd Workshop on Natural Language Processing for Requirements Engineering (NLP4RE'19), 2019