“An Empirical Study of Lehman’s Law on Software Quality Evolution”, 2013 ():
Software systems must change to adapt to new functional requirements and nonfunctional requirements. According to Lehman’s laws of software evolution, on the one side, the size and the complexity of a software system will continually increase in its lifetime; on the other side, the quality of a software system will decrease unless it is rigorously maintained and adapted. Lehman’s laws of software evolution, especially of those on software size and complexity, have been widely validated.
However, there are few empirical studies of Lehman’s law on software quality evolution, despite the fact that quality is one of the most important measurements of a software product.
This paper defines a metric—accumulated defect density—to measure the quality of evolving software systems. We mine the bug reports and measure the size and complexity growth of 4 evolution lines of Apache Tomcat and Apache Ant projects.
…Based on the above observations and discussions, we can state that our study supports Lehman’s law on software quality evolution: the quality of evolving software products will be declining unless restructuring is performed. Specifically, we found the quality of initial releases of a product tends to decrease and the quality could be improved if restructuring is performed on later releases.