Skip to content
WP5 - Dependency detection services
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Requirement Dependency Detection Service EPL 2.0

This service was created as a result of the OpenReq project funded by the European Union Horizon 2020 Research and Innovation programme under grant agreement No 732463. This project uses the Connexion library on top of Flask.

Technical description

What does the service do

This service analyzes a given set of requirements and finds requirement pairs which potentially depend on each other by measuring the similarity between the both requirements of the pair. The recommended requirement pairs are those whose similarity is not too high but also not too low. The implemented approach is a very basic unsupervised technique which can only detect dependencies on a content-based level. A more sophisticated supervised approach which requires training data and goes beyond this basic concept is explained in the OpenReq paper of Atas et al.:

Which technologies are used

This service requires Python 3.7.0+

How to install it

To run the server and to install all dependencies, please execute the following commands from the project root directory:

pip3 install -r requirements.txt
python3 -m application

To launch the integration tests, use tox:

sudo pip install tox

Running with Docker

To run the server on a Docker container, please execute the following commands from the project root directory:

# building the image
docker build -t application .

# starting up a container
docker run -p 9007:9007 application

How to use it (high-level description)

Once the server is running, open your browser and call the following URL to see the API documentation:

The Swagger definition lives here:

Rendered Documentation

Notes for developers




How to contribute

See OpenReq project contribution Guidlines


Free use of this software is granted under the terms of the EPL version 2 (EPL2.0).

You can’t perform that action at this time.