Abstract:
This paper aims at investigating the validity
of Lehman's Law of Increasing Complexity. Two
metrics namely cyclomatic complexity and interface
complexity were defined to capture increasing
complexity. The goal was to verify if these metrics can
be used to validate Lehman’s law of increasing
complexity. Empirical analysis was performed using
historical data collected on four evolving Open Source
Systems (OSS). Results show that the considered
Lehman’s law is partially supported by the collected
data and the metrics. In particular, empirical results
reveal that: total cyclomatic complexity and total
interface complexity are increasing from version to
version; average cyclomatic complexity and average
interface complexity either declines or increases within
a very short range; and function interface complexity
hardly decline in evolving OSS. Also, the addition of low
complex functions reduce cyclomatic complexity in
evolving OSS but does little in reducing function
interface complexity.