Which static analysis tool do you use for Scala?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/scala

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • Scapegoat

    Scala compiler plugin for static code analysis

    The support for scala 3 has been requested a while ago: https://github.com/scapegoat-scala/scapegoat/issues/521 but the original author has stepped down as a maintainer https://github.com/scapegoat-scala/scapegoat/issues/567 and recently most of the changes are just dependency updates.

  • Wartremover

    Flexible Scala code linting tool

    There is also wartremover but you cannot run it separately from your compile command.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • sonar-scala

    A free and open-source SonarQube plugin for static code analysis of Scala projects.

    You may use sonar-scala, or the independent pieces it consumes like Scapegoat.

  • sbt-tpolecat

    scalac options for the enlightened

    However, after a while, I found that most of the things I needed were already covered by the compiler. And that Rob's (aka tpolecat) list of compiler options provided all the ones I needed for my style of coding. I Then learn that there was this sbt plugin that managed the list for me and also took care of changing the options according to the Scala version.

  • scalafix-organize-imports

    A CI-friendly Scalafix semantic rule for organizing imports

    extensible with community plugins, we use scalafix-organize-imports and scaluzzi

  • Scalafix

    Refactoring and linting tool for Scala

    Scalafix

  • scaluzzi

    Additional rules for Scalafix. The part of scalazzi rules.

    extensible with community plugins, we use scalafix-organize-imports and scaluzzi

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts