Automatic refactoring into Traits

Traits offer a fine-grained mechanism for composing classes from reusable sets of methods. Traits thereby avoid some shortcomings of single inheritance, such a code duplication and cancellation of inherited methods. The project should automatically propose a refactoring of an existing class hierarchy by detecting inheritance problems and converting classes into compositions of traits.

Contact Oscar Nierstrasz