As coherent clusters are composed of both backward and forward slices, the stability of the backward slice profile itself does not guarantee the stability of coherent cluster profile. The remainder of this section looks at how the clustering profile is affected by bug fixes. Fig. 20 shows individual SCGs for each version of barcode. As coherent clusters are dependent on both backward and forward slices, such clusters will be more sensitive to changes in dependences within the program. The SCGs show that from the initial version barcode-0.90 there were two coherent clusters in the system. The smaller one is around 10% of the code while the larger is around 40% of the code. As the system evolved and went through various modifications and enhancements, the number of clusters and the profile of the clusters remained consistent other than its scaled growth with the increase in program size. It is also evident that during evolution of the system, the enhancement code or newly added code formed part of the larger cluster. This is why in the later stages of the evolution we see an increase in the size of the largest cluster, but not the smaller one.
coherent clusters
two
code
coherent clusters
around 10%
%
code
coherent clusters
around 40%
%