protocol

# `mutator_protocol`

Mutator protocol.

Availability:
`logtalk_load(mutation_testing(loader))`
Author: Paulo Moura
Version: 1:0:0
Date: 2026-03-07
Compilation flags:
`static`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

## Public predicates

### `reset/0`

Resets any mutator internal state used while expanding terms.

Compilation flags:
`static`
Mode and number of proofs:
`reset` - `one`

### `mutation/2`

Generates by backtracking zero or more mutations for a given term.

Compilation flags:
`static`
Template:
`mutation(Term,Mutation)`
Mode and number of proofs:
`mutation(@callable,@callable)` - `zero_or_more`

### `coverage_clause_mutator/0`

True when mutation occurrences map directly to predicate clause numbers and can use baseline clause coverage for skipping uncovered mutants.

Compilation flags:
`static`
Mode and number of proofs:
`coverage_clause_mutator` - `zero_or_one`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)