Learning Programs Redesign