Jdeodorant headerJDeodorant is an Eclipse plug-in that identifies design problems in software, known as bad smells, and resolves them by applying appropriate refactorings.

JDeodorant employs employs a variety of novel methods and techniques in order to identify code smells and suggest the appropriate refactorings that resolve them.

For the moment, the tool identifies four kinds of bad smells, namely Feature EnvyType CheckingLong Method and God Class.

Feature Envy problems are resolved by appropriate Move Method refactorings.

Type Checking problems are resolved by appropriate Replace Conditional with Polymorphism and Replace Type code with State/Strategy refactorings.

Long Method problems are resolved by appropriate Extract Method refactorings.

God Class problems are resolved by appropriate Extract Class refactorings.

The tool is the outcome of the research performed in the Department of Computer Science and Software Engineering at Concordia University, Canada and the
Software Engineering Lab at the Department of Applied Informatics, University of Macedonia, Thessaloniki, Greece.

JDeodorant encompasses a number of innovative features:

  • Transformation of expert knowledge to fully automated processes
  • Pre-Evaluation of the effect for each suggested solution
  • User guidance in comprehending the design problems
  • User friendliness (one-click approach in improving design quality)