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.