Software projects are expanding on several fronts: source code size growth, multiple developing teams, diversity of coding languages and standards. Maintaining control over these projects requires limiting of code size explosion, tight monitoring of Technical Debt, and clear understanding of what should be monitored (new code) or not (legacy code).
In these conditions, the activity of code refactoring cannot be omitted as it helps regulate ever evolving code and avoid developing new code similar to already existing one. Unfortunately, the bigger the code base the more lengthy and hazardous refactoring can become.
To assist developers in this task, an automated solution should point to the best candidates for code refactoring. By using results from algorithmic cloning detection, Technical Debt computation, and code stability monitoring in a Continuous Integration chain, this solution should not only help optimize refactoring effort, but also focus on relevant areas first, all the while monitoring ongoing developments.