thesis - Faculty of Information and Communication Technologies ...
thesis - Faculty of Information and Communication Technologies ...
thesis - Faculty of Information and Communication Technologies ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 7. Implications<br />
ically, we find support for First law Continuing Change, third law Self<br />
Regulation, fifth law Conservation <strong>of</strong> Familiarity, <strong>and</strong> the sixth law Continuing<br />
Growth. However, our analysis was not able to provide sufficient<br />
evidence to show support for the other laws.<br />
Change<br />
Our observations show that in all cases the metric distributions continuously<br />
changed. Providing support for the first law s<strong>of</strong>tware evolution<br />
– Continuing Change. The only consistent facet in our data was that<br />
in most cases, the change as measured by the difference in Gini Coefficient<br />
values was small. This small level <strong>of</strong> change indicates that a<br />
certain level <strong>of</strong> stability is common <strong>and</strong> potentially desirable for evolution<br />
to proceed since development teams are most productive with<br />
stable abstractions or those that are changing at a rate that allow for<br />
developers to learn them. Rate <strong>of</strong> change must be in synchronization<br />
with the development teams ability to learn, adapt <strong>and</strong> effectively utilize<br />
these abstractions. If the rate <strong>of</strong> change is too slow or zero, then it<br />
would imply that the system may slowly deteriorate as it no longer meets<br />
changing/maturing user needs. Conversely, if the many abstractions<br />
(classes) change too quickly, the effort spent on learning the changes<br />
will be substantially greater than the effort spent on adding new features.<br />
Complexity<br />
The second law, Increasing Complexity states that “s<strong>of</strong>tware is changed,<br />
its complexity increases <strong>and</strong> becomes more difficult to evolve unless<br />
work is done to maintain or reduce the complexity” [175]. We find that<br />
this law is hard to provide a definitive support to, mainly because complexity<br />
is a hard term to universally quantify (as discussed in Chapter<br />
4). Our analysis indicates that system complexity is mainly due<br />
to growth in general (primarily caused by new classes), rather than a<br />
consistent increase <strong>of</strong> size <strong>and</strong> structural complexity <strong>of</strong> the individual<br />
classes. This conclusion provides an additional dimension to Lehman’s<br />
law <strong>of</strong> increasing complexity [168]. S<strong>of</strong>tware gains volumetric complex-<br />
182