Skip to content

KonstantinosX/TimeGrouper

Repository files navigation

TimeGrouper

To run the TimeGrouper backend localy in a python virtual environment, follow these steps:

  1. Run ./setup.sh on Linux/Mac and setup.bat on Windows. This will install all python packages needed in a virtual environment in flask/

  2. Activate the virtual environment source flask/bin/activate

  3. Run python app.py

The RESTful service should now be running at: http://localhost:5000/

Service Endpoints:

  1. with {simMetric : 'some-similarity-Metric', cAlgorithm : 'clustering-algorithm'} these are required
  2. with {filter : 'chrome' , filter : 'firefox' ...etc} in the request to filter by app name
  3. with {updateMech : 'SU', updateMech : 'PD' ...} to filter by update mechanism
  4. {exploitable='true'} to filter by verified exploitability (true if patch has been exploited in the past)
  1. with {patchId : 'chrome_001' , patchId : 'firefox_003' ...etc} in the request
  2. with {highlight : 'chrome', updateMech : 'firefox' ...} to highlight by app name (highlights the similarity matrix positions that correspond to a similarity for two patches that both fit the highlighting condition). Returns [i,j] pairs for the boxes that should be highlighted