Easing software evolution
Hitesh Sajnani, Ravindra Naik, Cristina Videira Lopes · 2012
Quick and quality changes to a software application to add new feature or change existing feature, depend largely on the code architecture and its atomic responsibilities. As the application evolves, the code undergoes modifications and drifts away from its original design, leading to anomalies in the code structure and non-atomic, non-modular architecture.