The detection of design smells (i.e., occurrences of anti-patterns and of their code smells) can be simply done in batch, programmatically. There are two possible ways.
The standalone SmellDetectionCaller
can be found on GitHub or BitBucket.
The Eclipse Java project 0 - SmellDetectionCaller
contains the Java, class, and JAR files needed to identify occurrences of code and design smells in Java source code, Java binary class-files, or C++ source code.
The class ptidej.sad.smelldetectioncaller.SmellDetectionCaller
must be modified to change the path to a folder or a JAR file in which is located the code of the program to be analysed.
The remaining Eclipse Java projects are only used to regenerate the JAR files necessary to run the class ptidej.sad.smelldetectioncaller.SmellDetectionCaller
. These JAR files are in the Ptidej.jar
, which contains the bare minimum code from Ptidej, and the JAR files in Ptidej_lib
, which contains all the JAR supporting Ptidej.
/SmellDetectionCaller/src/ptidej/sad/smelldetectioncaller/SmellDetectionCaller.java
as launch configuration SmellDetectionCaller
./SmellDetectionCaller/src/ptidej/sad/smelldetectioncaller/SmellDetectionCaller.java
.SmellDetectionCaller
.0 - SmellDetectionCaller\Ptidej.jar
.Copy required libraries into a sub-folder next to the generated JAR
.Save as ANT script
.\0 - SmellDetectionCaller\Generate JARs.xml
.The complete source code and supporting JAR files of Ptidej can be found on GitHub and BitBucket.
After downloading and (re)compiling the source code, the class sad.detection.generators.SmellDetectionCaller
should be modified to point the detection to the path or JAR files containing the program to be analysed. The class sad.detection.generators.SmellDetectionHelper
can also be modified to select what anti-patterns and-or code smells to detect.