Skip to main content

Static Analysis

  • SemGrep - Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

Linters​

Type Checkers​

  • MyPy - optional static type checker for Python

Dependency Analysis​

  • Freshli - Display historical metrics about a project's dependencies (Supports Java/Maven)

Refactoring​

Modern IDEs such as the JetBrains suite and Visual Studio (especially with extensions) have excellent refactoring support for languages including Java and C#. Here, we are focusing on tools that can be invoked outside of the editor.

  • OpenRewrite - Large-scale automated source code refactoring, focused on Java
  • jscodeshift - js/ts codemod
  • Putout - JavaScript Linter, pluggable and configurable code transformer based on Babel
  • Pyupgrade - A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.