Are there any tools for performing static analysis of Scala code, similar to FindBugs and PMD for Java or Splint for C/C++? I know that FindBugs works on the bytecode produced by compiling Java, so I'm curious as to how it would work on Scala.
Google searches (as of 27 October 2009) reveal very little.
Google searches (as of 01 February 2010) reveal this question.
There is some work going on in that direction. Some links:
There is also a discussion on scala mail list, archive available here.
scala copy paste detector, based on AST. Looking for copy-pasted subtrees/ASTs, and inform about it.
It's plugin for sbt.
https://github.com/ajtkulov/scala-cpd
FindBugs analyzes JVM byte codes, regardless of the tool that generated them. I've tried using FindBugs to check .class files generated by Scala. Unfortunately, FindBugs produced many warnings, even for trivial Scala programs.