DesigniteJava is a code quality assessment tool for code written in Java. It detects numerous design and implementation smells. It also computes many commonly used object-oriented metrics.
You may download the executable jar from the Designite website.
We use maven to develop and build this application with the help of Eclipse IDE and libraries. To create a runnable jar, run the following command in the directory where the repository is cloned:
mvn clean install
If you use Eclipse:
After the previous step is done:
java -jar Designite.jar -i <path of the input source folder> -o <path of the output folder>
Note: Make sure that the output folder is empty. Tool deletes all the existing files in the output folder.
The implemented LCOM is a custom implementation to avoid the problems of existing LCOM alternatives. Traditional, LCOM value may range only between 0 and 1. However, there are many cases, when computing LCOM is not feasible and traditional implementations give value 0 giving us a false sense of satisfaction. So, when you find -1 as LCOM value for a class, this means we do not have enough information or LCOM is not applicable (for instance, for an interface). More details can be found here (though, it is an old post): http://www.tusharma.in/technical/revisiting-lcom/
Feel free to clone/fork/contribute to the DesigniteJava open-source project.
Open an issue if you encounter a bug in the tool.
Apart from me, following people generously contributed efforts to this project.