Locating Dependence Clusters and Dependence Pollution

  • Authors:
  • David Binkley;Mark Harman

  • Affiliations:
  • Loyola College;Kingýs College London

  • Venue:
  • ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A dependence cluster is a set of program statements all of which are mutually inter-dependent. Such clusters can cause problems for maintenance, because a change to any statement in the cluster will have a potential impact on all statements in the cluster. This paper introduces the concept of dependence clusters and dependence pollution and shows how a simple visualisation can be used to quickly and effectively locate them. The paper presents the results of two empirical studies and several case studies which evaluate the approach. The results indicate the importance of dependence cluster analysis: for a set of 20 programs, ranging in size from 1,170 LoC to 179,623 LoC, 99.6% of clusters identified were within 1% tolerance of being identical, while dependence clusters were found to be surprisingly common: 80% of the programs studied contained clusters of 10% or more of the program.