  Graphs are a fundamental data structure used to represent relationships in
domains as diverse as the social sciences, bioinformatics, cybersecurity, the
Internet, and more. One of the central observations in network science is that
real-world graphs are globally sparse, yet contains numerous "pockets" of high
edge density. A fundamental task in graph mining is to discover these dense
subgraphs. Most common formulations of the problem involve finding a single (or
a few) "optimally" dense subsets. But in most real applications, one does not
care for the optimality. Instead, we want to find a large collection of dense
subsets that covers a significant fraction of the input graph.
  We give a mathematical formulation of this problem, using a new definition of
regularly triangle-rich (RTR) families. These families capture the notion of
dense subgraphs that contain many triangles and have degrees comparable to the
subgraph size. We design a provable algorithm, RTRExtractor, that can discover
RTR families that approximately cover any RTR set. The algorithm is efficient
and is inspired by recent results that use triangle counts for community
testing and clustering.
  We show that RTRExtractor has excellent behavior on a large variety of
real-world datasets. It is able to process graphs with hundreds of millions of
edges within minutes. Across many datasets, RTRExtractor achieves high coverage
using high edge density datasets. For example, the output covers a quarter of
the vertices with subgraphs of edge density more than (say) $0.5$, for datasets
with 10M+ edges. We show an example of how the output of RTRExtractor
correlates with meaningful sets of similar vertices in a citation network,
demonstrating the utility of RTRExtractor for unsupervised graph discovery
tasks.
