Skip to content

ckindynis/proper-role-mining

Repository files navigation

Building the C++ code using CMake

Go to the src_AdaMBE folder, and run the following commands:

mkdir build && cd build

cmake ..

cmake --build .

cmake --build . --config Release

Running the C++ code

Expected arguments

args = [
    str(executable_path),
    "-pf", str(permissions_path_from_base),
    "-bf", str(bicliques_path_from_base),
    "-sf", str(solution_path_from_base),
    "-order", str(order),                                
    "-st", str(save_threshold),                            
    "-fbv", str(version),                                
    "-tnum", str(number_of_threads),                  
    "-part", str(part),                     
    "-local_run", "0"
]

Explanation of the arguments:

  • executable_path: path to the executable file
  • permissions_path_from_base: path to the permissions file from the base folder
  • bicliques_path_from_base: path to the bicliques file from the base folder
  • solution_path_from_base: path to the solution file from the base folder
  • order: order in which bicliques are processed (1: random, 2: increasing, 3: decreasing)
  • save_threshold: number of bicliques we process before saving them to the file
  • version: Select one AdaMBE (for finding bicliques) version to run. 1: AdaMBE, 2: ParAdaMBE.
  • number_of_threads: number of threads to use
  • part: 0: Construct the roles for the given user permission graph.
  • local_run: 0: C++ code was called from a notebook, 1: C++ was directly executed (e.g. from VSC).

Code notes

  • Config includes "_blpp" if the baseline algorithm was used as a preprocessing step.

About

This project aims provides an effective and efficient solution for the Role Mining Problem. Given a set of users, and their permissions, we aim to create the minimum set of roles, that connect each user to their original permissions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors