mutate: equivalent mutants are reported as survivors

Abierto
#315 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
javascript, markdown, rust, yaml
Área
testing-qa

Línea de trabajo

Start with the equivalent-suspect heuristic and the swap-order handling; the issue does not name implementation files or tests. Read the parent issue #272 and inspect how guards and variable assignments are represented, then find the relevant mutation tests. Done when provably disjoint guards are skipped and grid-aligned one-step bound shifts are reported as equivalent-suspect.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Two classes the 'equivalent-suspect' heuristic misses: (a) swapping the order of two transitions whose guards are mutually exclusive (e.g. x <= 850 / x > 850); (b) shifting a bound by one where the variable only takes values on a grid (steps of 50 against a bound of 850). They lower the score and hide real survivors.

Proposal: skip swap-order when the guards are provably disjoint (same variable, complementary relational ops), and report literal shifts as equivalent-suspect when a variable's assignments are all multiples of a step that straddles the bound.

Found while building the grid-tie inverter dogfood model (branch claude/gti-model, docs/demo-model/grid-tie-inverter.md). Part of #272.


Generated by Claude Code

Lenguaje dominante
Rust
Estrellas
8
Forks
1
Merge medio
3 h 35 min
PR fusionados (30 d)
69

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sjames/syscribe

Todos los issues de sjames/syscribe

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.