As systems evolve, they become harder to understand because the implementation of concepts (e.g. business rules) becomes less coherent. To preserve source code comprehensibility, ...
As new software components become available for an existing system, we can evolve not only the system itself but also its requirements based on the new components. In this paper, ...
To aid software analysis and maintenance tasks, a number of software clustering algorithms have been proposed to automatically partition a software system into meaningful subsyste...
— As new versions of software are developed bugs inevitably arise either due to regression or new functionality. Challenges arise in discovering, managing, and testing the impact...
Kevin J. Hoffman, Murali Krishna Ramanathan, Patri...
1 Even though there has been some research on system evolution, there is no well defined vocabulary to indicate deviation of a system from desired goals. Further, there are no obje...