I believe reuse is the single most beneficial strategy in software engineering and it can be fostered by harnessing today’s wide available data and extensive collaborative software development environment. In this context, I want to propose a challenge. Can we mine and reuse successful complex refactoring strategies? In the past I have developed a technique to compute refactoring plans –complex refactoring sequences– from refactoring strategies for
correcting bad smells, using automated planning. The future challenge I present involves studying: how to analyse software projects’ history to identify refactoring patterns that were successful in the past for removing bad smells; and how to collect and represent these strategies so they can be automatically re-applied in other projects. Presented at the Dagstuhl seminar: “The Future of Refactoring” (http://www.dagstuhl.de/14211).