SRT — A computational tool for restructuring Java software
Danilo Santos, Paulo Afonso, Heitor Augustus Xavier Costa · 2016
Software undergoes several maintenance during its life cycle to meet the needs of users and the environment in which it appears. However, it is not enough to perform maintenance if it runs in disagreement with design patterns and best development practices. This will result in degradation of software architecture, generating software with low cohesion, high coupling, and low maintainability. To act against this degradation, this paper shows SRT (Software Restructuring Tool). Its goal is to recover the degraded architecture of software by moving classes among package, using software metrics and Simulated Annealing combinatorial optimization heuristics. The results of the restructuring conducted by SRT revealed improvement of the software metrics used.