graphMC generates a uniformly random graph from among all graphs with a specified degree distribution or joint degree distribution by rewiring edges. Rewiring algorithm for joint degree distributions is described here, and convergence analysis described here.