Link Search Menu Expand Document

Base Plugin

1.0.2

Bug Fix: IndexOutOfBoundsException When Using Parameter Swap Mutator

Some users observed IndexOutOfBoundsExceptions when using the SWAP_PARAMS mutator on Kotlin codebases.

This was traced to an issue in how type signatures were parsed when filtering out junk instances of this mutation.

1.0.1

New Feature: Improved Descriptions Lambda Mutations

The base plugin now updates the descriptions of mutants within lambdas and other compiler constructs to be more human readable.

For example for

  boolean foo(List<String> list) {
    return list.stream()
      .filter(s -> s.startsWith("dog"))
      .findAny()
      .isPresent();
  }

Pitest will produce a mutant with a description like

replaced boolean return with true for com/example/SomeClass::lambda$foo$1

This will be converted to

replaced boolean return with true for 1st lambda in foo

Note, this feature was previously available only for Arcmutate Pro subscribers, but has now been included in the base plugin.

1.0.0

Enhancement: Improved Filtering of Equivalent Reactive Returns Mutants

Improvements to filtering of equivalent mutants in methods with reactive return types such as reactor.core.publisher.Flux and io.reactivex.rxjava3.core.Maybe.

New Feature: Exclusions