mutate: equivalent mutants are reported as survivors

Aperta
#315 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, markdown, rust, yaml
Ambito
testing-qa

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
Rust
Stelle
8
Fork
1
Merge medio
3h 35m
PR unite (30g)
69

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sjames/syscribe

Tutte le issue di sjames/syscribe

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.