Kotlin Mutation Testing, Finally Done Right
Our Kotlin plugin extends PiTest so it understands Kotlin bytecode — bringing true mutation testing to the JVM's fastest growing language.
Why Plain PiTest Isn't Enough for Kotlin
Kotlin compiles to JVM bytecode, so PiTest will run against it — but what looks like one line of Kotlin often compiles to a web of synthetic methods, null checks and inline expansions. Without understanding these, a mutation tool produces junk mutants in code you never wrote, and misses real gaps in code you did.
The open source pitest-kotlin plugin is no longer maintained. The ArcMutate
Kotlin plugin is its actively developed successor, built by the same team that builds PiTest
itself, and offers a significantly better experience — with support for inline functions and
many other language features.
Understands Kotlin's compiler output
No junk mutations in compiler-generated null checks, data class methods or synthetic accessors. Every reported mutant maps to code you actually wrote.
Inline functions
Mutations are correctly handled in and around inline functions — a common blind spot that breaks naive bytecode mutation.
Null safety, data classes, coroutines
Full understanding of Kotlin idioms so mutation results reflect the semantics of your Kotlin source, not bytecode noise.
Works where PiTest works
Gradle and Maven, JUnit 4/5, mixed Java/Kotlin codebases and Android JVM tests. Combine with Git integration for Kotlin mutation testing in every pull request.
Quick Start with Gradle
plugins {
id 'info.solidsoft.pitest' version '1.15.0'
}
dependencies {
pitest 'com.arcmutate:pitest-kotlin-plugin:+'
}
// add your arcmutate licence file to the repo root, then:
// ./gradlew pitest Full setup instructions, including Maven and CI configuration, are in the Kotlin documentation.
“ArcMutate helps me to catch bugs I didn't know I had, before they're even released. The integration with GitHub pull requests makes it super easy to work with, too.”
Kotlin Mutation Testing FAQ
Does PiTest work with Kotlin?
PiTest can run against Kotlin bytecode, but without Kotlin-specific analysis it generates noisy, junk mutations in compiler-generated code. The ArcMutate Kotlin plugin gives PiTest a full understanding of Kotlin, including inline functions, null safety checks, data classes and coroutines.
Does it work with Android?
Yes. ArcMutate works with PiTest to make Java, Kotlin and Android software development faster and safer.
How do I get a licence?
Start a free 30-day trial — no credit card required — or subscribe online. Open source projects can get a free licence by contacting us.
Bring Mutation Testing to Your Kotlin Code
Free 30-day trial, no credit card required. Set up in minutes with Gradle or Maven.