Dependence clusters in source code

Mark Harman, David Binkley, Keith Brian Gallagher, Nicolas Gold, Jens Krinke · ACM Transactions on Programming Languages and Systems · 2009

A dependence cluster is a set of program statements, all of which are mutually inter-dependent. This article reports a large scale empirical study of dependence clusters in C program source code. The study reveals that large dependence clusters are surprisingly commonplace. Most of the 45 programs studied have clusters of dependence that consume more than 10% of the whole program. Some even have clusters consuming 80% or more. The widespread existence of clusters has implications for source code analyses such as program comprehension, software maintenance, software testing, reverse engineering, reuse, and parallelization.

Read the paper · More papers on PaperTik