Abstract: A method for data-flow analysis includes constructing a data-flow graph for a computing system that runs multiple software applications. The data-flow graph includes (i) vertices representing data locations in the computing system, and (ii) edges representing data movements performed by the software applications between the data locations. One or more multi-hop paths are identified in the data-flow graph, each multi-hop path including a sequence of two or more edges that represents multi-hop movement of data in the computing system. One or more of the identified multi-hop paths are acted upon.