Static Code Analysis Tools - yenbohuang/techNotes GitHub Wiki

Survey in 2016/12/22

Scan Bugs

ConQAT FindBugs PMD SonarQube Soot
License Apache LGPL BSD/Apache LGPLv3 LGPL
Code Analysis Java Java, Scala (by bytecode) Java Java, Python Java, Scala (by bytecode)
Code Clone Detection Java X Java, Python, Scala X X
Eclipse Plugin/Integration Yes Yes Yes Yes Yes (outdated)
Jenkins Plugin X FindBugs PMD SonarQube X
Maven Plugin X Yes Yes Yes Yes (non-official)
Command-Line Interface Yes Yes Yes Yes Yes
Pretty Report Generation Yes Yes Yes Yes X
Web-Based Application X X X Yes X
Standalone GUI Tool Yes Yes X X X
Third-Party Integration FindBugs, PMD fb-contrib, Find security Bugs X FindBug, fb-contrib, Find security Bugs, PMD, checkstyle, Pylint X
Trend Analysis Yes X X Yes X
Commercial Support Yes X X Yes X
Latest Update v2015.2 v3.0.1 (2015) v5.5.2 (2016) v6.1 (2016) v2.5.0 (2012), nightly (2016)

Python

Pylint MyPy flake8
License GPL MIT MIT
Code Analysis Yes Yes Yes
Code Clone Detection Yes X X
Eclipse Plugin/Integration Yes X X
Jenkins Plugin Violations X Warnings
Command-Line Interface Yes Yes Yes
Pretty Report Generation X X X
Web-Based Application X X X
Standalone GUI Tool X X X
Third-Party Integration X X PyFlakes, pycodestyle
Trend Analysis X X X
Commercial Support Yes X X
Latest Update v1.6.0 (2016) v0.4.6 (2016) v3.2.1 (2016)

Scala

Wart Remover Scapegoat Linter
License Apache Apache Apache
Code Analysis Scala Scala Scala
Code Clone Detection X X X
Eclipse Plugin/Integration X X X
Jenkins Plugin sbt X Warnings
SBT Plugin sbt-wartremover sbt-scapegoat linter
Command-Line Interface X X X
Pretty Report Generation X Yes X
Web-Based Application X X X
Standalone GUI Tool X X X
Third-Party Integration X X X
Trend Analysis X X X
Commercial Support X X X
Latest Update v1.2.1 (2016) v1.3.0 (2016) v0.1.17 (2016)

List of Tools

Reviews and Tutorials

Python

Scala

Jenkins Plugins

Supporting Multiple Languages

FindBugs

SonarQube

OWASP Dependency-Check

Others

Python Only

flake8

Others

Java Only

Scala Only