Dependence clusters in source code

  • Authors:
  • Mark Harman;David Binkley;Keith Gallagher;Nicolas Gold;Jens Krinke

  • Affiliations:
  • King's College London, London, UK;Loyola College, Baltimore, MD;Durham University, Durham, UK;King's College London, London, UK;King's College London, London, UK

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.