BENCHMARK GRAPHS TO TEST COMMUNITY DETECTION ALGORITHMS
    Methods to detect communities in graphs need to be thoroughly tested. To do that, one needs benchmark graphs with a built-in community structure, that the methods should identify. Standard benchmarks, like that by Girvan and Newman, do not account for important features of real networks, like the fat-tailed distributions of node degree and community size. Therefore, we have proposed new classes of benchmark graphs, in which the distributions of node degree and community size are both power laws, with tunable exponents. In the paper Benchmark graphs for testing community detection algorithms, we have proposed a benchmark for the simplest case of undirected and unweighted graphs. The code to build this type of graphs can be downloaded here
    Package 1 includes the code to generate undirected and unweighted graphs with overlapping communities. The extent of the overlap can be tuned by input, if there is no overlap the graphs are the same as those produced by the previous package.
    Package 2 includes the code to generate undirected  weighted graphs with possibly overlapping communities.
    Package 3 includes the code to generate directed unweighted graphs with possibly overlapping communities.
    Package 4 includes the code to generate directed weighted graphs with possibly overlapping communities.
    The code is written in C++. In each package there is a Readme file where you can find instructions on how to use the code and simple examples.