Add this URL to your Eclipse Installation to reach this solution's update site.
JDeodorant is an Eclipse plug-in that identifies design problems in software, known as bad smells, and resolves them by applying appropriate refactorings.
JDeodorant 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 five kinds of bad smells, namely Feature Envy, Type Checking, Long Method, God Class and Duplicated Code.
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. Duplicated Code problems are resolved by appropriate Extract Clone refactorings.
The tool is the outcome of the research performed in the Software Refactoring Lab Department of Computer Science and Software Engineering, Concordia University, Canada and the Software Engineering Group at the Department of Applied Informatics, University of Macedonia, Thessaloniki, Greece.
JDeodorant encompasses a number of innovative features:
JDeodorant YouTube ChannelRefactoring of the Clones - Teaser TrailerCode Smell Visualization Demo
Unsuccessful Installs in the last 7 Days: 2
By adding the following code below to your website you will be able to add an install button for JDeodorant.HTML Code:
Submitted by Vipul Jain on Mon, 2016-03-21 09:04
I need to perform the same task as JDeodorant Feature envy on my software..is there some way I can run it as a standalone app on my software.
Submitted by Nikolaos Tsantalis on Mon, 2016-03-21 12:14
Yes, there is a way to run JDeodorant in headless mode.
Please follow the instructions given in the link below
Submitted by Vipul Jain on Tue, 2016-03-22 10:58
Read this article but it does not completely eliminate the dependency on Eclipse.
I will like to rephrase my question:
Is there some way to imitate Feature Envy Implementation of JDeodorant removing its dependencies on Eclipse and other plugins or at least make them minimal...
Also will be great if you can throw some insight on How did you remove false positive in case of Visitor Pattern/ Strategy Pattern in Feature Envy smell
Submitted by Vipul Jain on Tue, 2016-03-22 10:08
Thanks for the reply..Will look into it.
Can you please share some insight on how did you handle Visitor Pattern/ Strategy Pattern bound False Positives in case of feature envy...I have read your research paper but could not find any answer to this.
Submitted by M S Sawan on Mon, 2016-01-11 01:14
I couldn't run it on large projects, and it doesn't utilize the full potential of my hardware, the processor is max at 26%!!! and it is very slowwww, it has never finished finding opportunities to extract classes!!
Submitted by Nikolaos Tsantalis on Sat, 2016-11-12 08:37
Check out the last version of JDeodorant. Performance has improved significantly for finding Extract Class and Move Method refactoring opportunities.
Submitted by Nikolaos Tsantalis on Mon, 2016-01-11 13:18
Thank you for your feedback. I would like if possible to clarify two points:
1) Do the projects being analyzed contain machine-generated code? Usually generated code (e.g., parsers) is very complex and slows down the analysis for the detection of refactoring opportunities. We are currently automatically excluding the classes generated by JavaCC, ANTLR, JFlex, and CUP parser generators. If your project contains machine-generated code, we would be thankful if you could provide the name of the generator.
2) You can also consider to apply the detection on a specific package, or even on specific classes, instead of the entire project.
JDeodorant analyzes only the part of the project (package or compilation unit) selected in the Package Explorer.
Submitted by Benoit Besson on Fri, 2012-11-09 07:09
Tested on my code suggestions and corrections are not relevant. Use checkstyle/pmd/findbugs instead...
Back to the top