  We study the fundamental problem of butterfly (i.e. (2,2)-bicliques) counting
in bipartite streaming graphs. Similar to triangles in unipartite graphs,
enumerating butterflies is crucial in understanding the structure of bipartite
graphs. This benefits many applications where studying the cohesion in a graph
shaped data is of particular interest. Examples include investigating the
structure of computational graphs or input graphs to the algorithms, as well as
dynamic phenomena and analytic tasks over complex real graphs. Butterfly
counting is computationally expensive, and known techniques do not scale to
large graphs; the problem is even harder in streaming graphs. In this paper,
following a data-driven methodology, we first conduct an empirical analysis to
uncover temporal organizing principles of butterflies in real streaming graphs
and then we introduce an approximate adaptive window-based algorithm, sGrapp,
for counting butterflies as well as its optimized version sGrapp-x. sGrapp is
designed to operate efficiently and effectively over any graph stream with any
temporal behavior. Experimental studies of sGrapp and sGrapp-x show superior
performance in terms of both accuracy and efficiency.
