JSNose is a JavaScript code smell detector tool written in Java. The tool at this point is capable of detecting the following code smells in JavaScript:
- Closure smells
- Coupling of JS/HTML/CSS
- Empty catch
- Excessive global variables
- Large object
- Large object
- Long message chain
- Long method/function
- Long parameter list
- Nested callback
- Refused bequest
- Switch statement
- Unused code
A. Milani Fard, A. Mesbah, "JSNose: Detecting JavaScript Code Smells”, 13th IEEE International Conference on Source Code Analysis and Manipulation (SCAM 2013), Eindhoven, The Netherlands, 2013
Run it trough the Main class in JSNose/src/main/java/com/crawljax/examples/JSNoseExample.java
The core smell detection process and thresholds are located in JSNose/src/main/java/codesmells/SmellDetector.java
The experimental data produced by JSNose is available for download.