Add this URL to your Eclipse Installation to reach this solution's update site.

Photon (4.8)
Oxygen (4.7)
Neon (4.6)
Mars (4.5)
Luna (4.4)
Kepler (4.3)
Juno (4.2, 3.8)
2018-09 (4.9)

Learn more...

Details Group Tabs

Tuesday, October 16, 2018 - 04:52
vjainqjq's picture

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.

tnikolaos's picture

Yes, there is a way to run JDeodorant in headless mode.
Please follow the instructions given in the link below


vjainqjq's picture

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

vjainqjq's picture

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.

msawan's picture

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!!

tnikolaos's picture

Check out the last version of JDeodorant. Performance has improved significantly for finding Extract Class and Move Method refactoring opportunities.

tnikolaos's picture

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.

bbesson5sq's picture

Tested on my code suggestions and corrections are not relevant. Use checkstyle/pmd/findbugs instead...