  Implicit Computational Complexity (ICC) drives better understanding of
complexity classes, but it also guides the development of resources-aware
languages and static source code analyzers. Among the methods developed, the
mwp-flow analysis certifies polynomial bounds on the size of the values
manipulated by an imperative program. This result is obtained by bounding the
transitions between states instead of focusing on states in isolation, as most
static analyzers do, and is not concerned with termination or tight bounds on
values. Those differences, along with its built-in compositionality, make the
mwp-flow analysis a good target for determining how ICC-inspired techniques
diverge compared with more traditional static analysis methods. This paper's
contributions are threefold: we fine-tune the internal machinery of the
original analysis to make it tractable in practice; we extend the analysis to
function calls and leverage its machinery to compute the result of the analysis
efficiently; and we implement the resulting analysis as a lightweight tool to
automatically perform data-size analysis of C programs. This documented effort
prepares and enables the development of certified complexity analysis, by
transforming a costly analysis into a tractable program, that furthermore
decorrelates the problem of deciding if a bound exist with the problem of
computing it.
