Evaluation and Study of Software Degradation in the Evolution of Six Versions of Stable and Matured Open Source Software Framework
Sayyed G. Maisikeli · 2016
When a software system evolves, new requirements may be added, existing functionalities modified, or some structural change introduced.During such evolution, disorder may be introduced, complexity increased or unintended consequences introduced, producing rippleeffect across the system.JHotDraw (JHD), a well-tested and widely used open source Javabased graphics framework developed with the best software engineering practice was selected as a test suite.Six versions were profiled and data collected dynamically, from which two metrics were derived namely entropy and software maturity index.These metrics were used to investigate degradation as the software transitions from one version to another.This study observed that entropy tends to decrease as the software evolves.It was also found that a software product attains its lowest decrease in entropy at the turning point where its highest maturity index is attained, implying a possible correlation between the point of lowest decrease in entropy and software maturity index.