PIT

C
C tier on Mutation Testing ToolsScore 6.6 · #7 of 25
Android app
Not listed
Free plan
No
Runs on
Linux, Mac, self-hosted, Windows
pitest.org
The PIT homepage

Summary

PIT is a free mutation-testing tool for Java and JVM bytecode projects. It measures whether unit tests detect faults by running them against automatically changed versions of application code. Configurable bytecode mutations can remove method calls, invert logic, or alter return values. PIT uses line coverage, test execution speed, and test naming conventions to choose and prioritize tests, then reports mutation coverage alongside line coverage. You can launch it from the command line, Ant, or Maven; third-party integrations are listed for Gradle, Eclipse, and IntelliJ. Java is supported directly, while Kotlin use is available through the ArcMutate plugin. PIT supports JUnit 3, JUnit 4, and TestNG; JUnit 5 requires a plugin. Versions 1.4.0 and later require Java 8 or above and JUnit or TestNG on the classpath. Mutation runs can take a long time depending on project size and test speed, so PIT recommends focusing analysis on changed code.

Who it is for

PIT suits Java and JVM developers who want to assess whether their tests catch faults. It can fit workflows using supported build tools, IDE integrations, or a command line.

What is good

  • Free to use.
  • Reports mutation coverage alongside line coverage.
  • Supports incremental analysis and parallel execution.
  • Can prioritize tests using coverage, speed, and naming.
  • Surviving mutant reports and a mutation quality gate are available.

What to know first

  • JUnit 5 requires a plugin.
  • Long mutation runs depend on codebase size and test speed.
  • Bytecode must include line numbers and source file names.

Verdict

PIT offers configurable mutation testing and reporting for Java and JVM projects. Check its JUnit 5 plugin requirement and potentially lengthy runtime against your project needs.

Compared on mutation testing tools

Free plan
Yespitest.org
Supported languages
Java and JVM bytecodepitest.org
Test frameworks
JUnit 3, JUnit 4, TestNG; JUnit 5 via pluginpitest.org
Incremental analysis
Yespitest.org
Parallel execution
Yespitest.org
Surviving mutant reports
Yespitest.org
Mutation quality gate
Yespitest.org
Mutation operators
Conditionals Boundary, Increments, Invert Negatives, Math, Negate Conditionals, Void Method Calls, Empty Returns, False Returns, True Returns, Null Returns, Primitive Returns, Remove Conditionals, Inline Constant, Constructor Calls, Non-Void Method Calls, Remove Increments, Argument Propagation, Big Integer, Member Variable, Naked Receiver, Negation, Arithmetic Operator Replacement, Arithmetic Opepitest.org

Facts

Purpose
PIT runs unit tests against automatically modified versions of application code to measure whether tests detect faults.pitest.org · 30 Sept 2026
Language coverage
PIT is designed for Java and the JVM; Kotlin support is provided through an ArcMutate plugin.pitest.org · 30 Sept 2026
Test selection
PIT uses line coverage, test execution speed, and test naming conventions to select and prioritize tests for mutations.pitest.org · 30 Sept 2026
Build integrations
PIT can be launched from the command line, Ant, or Maven, with third-party integrations for Gradle, Eclipse, and IntelliJ.pitest.org · 30 Sept 2026
Reports
PIT produces reports combining line coverage and mutation coverage information.pitest.org · 30 Sept 2026
Requirements
The FAQ says PIT 1.4.0 and later requires Java 8 or above and either JUnit or TestNG on the classpath.pitest.org · 30 Sept 2026
JUnit 5 limit
JUnit 5 is not supported out of the box, though the FAQ links to a plugin for it.pitest.org · 30 Sept 2026
Runtime limitation
Mutation testing can take a long time depending on codebase size and test suite speed; PIT recommends focusing analysis on changed code.pitest.org · 30 Sept 2026
Bytecode requirement
PIT requires line numbers and source file names in bytecode and mutates bytecode rather than compiling source code.pitest.org · 30 Sept 2026
Distribution
PIT releases are available through GitHub and its binaries are available on Maven Central.pitest.org · 30 Sept 2026
Support
PIT directs users to its Google Group for support questions.pitest.org · 30 Sept 2026
Security and privacy
PIT’s FAQ says generated mutations are held in memory and not written to disk unless its EXPORT feature is explicitly enabled; the site privacy page says it uses Google Analytics cookies and log files.pitest.org · 30 Sept 2026
Maker
The About page identifies Henry Coles, a software developer based in Edinburgh, as the principal author and says PIT has also received contributions from others.pitest.org · 30 Sept 2026
Mutation coverage
PIT reports mutation coverage alongside line coverage, and describes mutation testing as a way to assess whether executed code is meaningfully tested.pitest.org · 30 Sept 2026
IDE integrations
The PIT site lists third-party Eclipse and IntelliJ plugins and says PIT can also be launched from most other IDEs as a Java application.pitest.org · 30 Sept 2026
Language support
The FAQ lists Java as supported and says Kotlin support is available through an ArcMutate plugin.pitest.org · 30 Sept 2026
Mocking frameworks
PIT says it is tested with major mocking frameworks and lists JMock, EasyMock, Mockito, PowerMock, and JMockit as working with it.pitest.org · 30 Sept 2026
Mutation handling
PIT keeps generated mutations in memory and does not write them to disk unless its EXPORT feature is explicitly enabled.pitest.org · 30 Sept 2026
Security and compliance
The PIT pages reviewed do not state security certifications or compliance attestations.pitest.org · 30 Sept 2026

Best PIT alternatives

See all 12

Where it ranks on Everything Xiaomi

Is PIT yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources