Review Article
A Tool-Based Perspective on Software Code Maintainability Metrics: A Systematic Literature Review
Table 9
Tools available for computing the most popular metrics for the most supported programming languages (open-source tools in bold).
| Metric | C | C++ | C# | Java | JavaScript |
| CC | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | Codacy | Codacy | Codacy | Codacy | Codacy | CMT++ | CMT++ | CMT++ | CMTJava | Understand | Understand | Understand | Understand | JHawk | CodeAnalyzers | Visual Studio | Visual Studio | CodeAnalyzers | Understand | Escomplex | MetricsReloaded | Squale | CCFinderX | MetricsReloaded | Eslint | Squale | CodeAnalyzers | | CodeMetrics | | CodeAnalyzers | CCFinderX | | CodeAnalyzers | | CCFinderX | | | CCFinderX | |
| CE | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | Understand | Understand | Understand | JHawk | Understand | Visual Studio | Visual Studio | | Understand | | MetricsReloaded | Squale | | MetricsReloaded | | Squale | | | | |
| CHANGE | CCFinderX | CCFinderX | CCFinderX | CCFinderX | | | | | Ref-Finder | |
| C&K | Understand | Understand | Understand | Understand | Understand | Visual Studio | Visual Studio | | CKJM | | MetricsReloaded | | | MetricsReloaded | |
| CLOC | Codacy | Codacy | Codacy | Codacy | Codacy | Understand | Understand | Understand | JHawk | Understand | CBR Insight | CBR Insight | CBR Insight | Understand | CBR Insight | CodeAnalyzers | CodeAnalyzers | CodeAnalyzers | CBR Insight | CodeAnalyzers | | | | CodeAnalyzers | Eslint |
| Halstead’s | CMT++ | CMT++ | CMT++ | CMTJava | Escomplex | Halstead Metrics Tool | Halstead Metrics Tool | | JHawk | | | | | Halstead Metrics Tool | |
| JLOC | — | — | — | Codacy | — | | | | MetricsReloaded | | | | | Squale | |
| LOC | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | Codacy | Codacy | Codacy | Codacy | Codacy | CMT++ | CMT++ | CMT++ | CMTJava | Understand | Understand | Understand | Understand | JHawk | CBR Insight | Visual Studio | Visual Studio | CBR Insight | Understand | CodeAnalyzers | MetricsReloaded | Squale | CodeAnalyzers | MetricsReloaded | JSInspect | Squale | CBR Insight | CCFinderX | Quamoco Benchmark | Eslint | CBR Insight | CodeAnalyzers | | CBR Insight | | CodeAnalyzers | CCFinderX | | CodeAnalyzers | | CCFinderX | | | CCFinderX | |
| LCOM2 | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | Understand | Understand | Understand | Understand | Understand |
| MI | CMT++ | CMT++ | CMT++ | CMTJava | CodeAnalyzers | Visual Studio | Visual Studio | CodeAnalyzers | JHawk | Eslint | CodeAnalyzers | CodeAnalyzers | | CodeAnalyzers | |
| MPC | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | CAST’S AIP | | | | JHawk | |
| NOM | Understand | Understand | Understand | Understand | Understand | Squale | Squale | CodeAnalyzers | CodeAnalyzers | CodeAnalyzers | CodeAnalyzers | CodeAnalyzers | | | |
| NPM | Understand | Understand | Understand | Understand | Understand | Squale | Squale | CodeAnalyzers | CKJM | CodeAnalyzers | CodeAnalyzers | CodeAnalyzers | | CodeAnalyzers | |
| STAT | Understand | Understand | Understand | JHawk | Understand | CodeAnalyzers | CodeAnalyzers | CodeAnalyzers | Understand | CodeAnalyzers | | | | CodeAnalyzers | Eslint |
| WMC | Understand | Understand | Understand | Understand | Understand | CBR Insight | CBR Insight | CBR Insight | CKJM | CBR Insight | | | | CBR Insight | |
|
|