 As they evolve, the complexity of the systems will grow unless there is a better solution available to solve these issues.The main objectives of software evolution are ensuring functional relevance, reliability and flexibility of the system.Software evolution can be fully manual (based on changes by software engineers), partially automated (e.g.