Skip to Main Content
A dependence cluster is a maximal set of program components that all depend upon one another. Previous work has highlighted the prevalence of large dependence clusters in source code, presenting potential problems for comprehension, testing, and maintenance. This paper is concerned with source code analysis techniques for identifying the causes of large dependence clusters. The paper presents results of a study of low-level causes of dependence clusters, which reveals that a large cluster can be caused by the smallest atomic unit source code: a single vertex or edge of the program's dependence graph. These are termed the linchpin vertices and edges in this paper.