  We present a new flow framework for separation logic reasoning about programs
that manipulate general graphs. The framework overcomes problems in earlier
developments: it is based on standard fixed point theory, guarantees least
flows, rules out vanishing flows, and has an easy to understand notion of
footprint as needed for soundness of the frame rule. In addition, we present
algorithms for automating the frame rule, which we evaluate on graph updates
extracted from linearizability proofs for concurrent data structures. The
evaluation demonstrates that our algorithms help to automate key aspects of
these proofs that have previously relied on user guidance or heuristics.
