Fuzz every problem and language driver against the reference solutions
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, node.js
Direzione di ricerca
Start by reading backend/arena/runner/harness.js and the existing npm run validate:problems workflow to understand how reference solutions, problem metadata, and language drivers are run. Then inspect problem.function parameter types and the constraints referenced in issues #3 and #12. Done means the new seeded fuzzer supports the requested flags, shrinking, driver checks and CI run, and the stated validation commands pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Every problem is validated by running its JavaScript and Python references against its hand-written tests (npm run validate:problems). That only proves the references agree on inputs someone thought of. Bugs hide at the edges: empty arrays, negative numbers, duplicate values, maximum sizes, unicode strings.
What to do
Add backend/arena/scripts/fuzz-problems.js:
- Generate random inputs from each problem's parameter types in
problem.function(all types listed in #3), respecting declared constraints where present (see #12). - Bias generation toward edge cases: empty, single element, all equal, sorted, reverse sorted, min and max values.
- Run both reference solutions on each input and compare with the problem's
comparemode. - On a mismatch, shrink the input to the smallest failing case and print it, ready to paste into the problem as a new test.
- Run every language driver in
backend/arena/runner/harness.json a reference solution too, so driver bugs in serialization (big integers, floats, nested tuples, unicode) are caught. New language drivers (#1, #2, #3, #5, #6) should pass this before merging. - Deterministic by seed.
--seed,--runsand--problemflags.
Definition of done
- Runs over all 45 problems locally in a few minutes with
CODEARENA_RUNNER=local. - Prove it works: break one reference on purpose and show the fuzzer finding and shrinking the failure in the pull request.
- Any real disagreements found get their own issues or fixes, with the shrunk input added as a test.
- A short fuzz run (fixed seed, small run count) added to CI.
npm testandnode scripts/check-boundary.jspass.
- Lingua principale
- JavaScript
- Stelle
- 0
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sennaicodes/codearena
-
Add issue and pull request templatesForse di nuovo libera @franciscorodr26 l’ha presa 17 giorni fa e non c’è nessuna pull request aperta. Apertadocumentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
sennaicodes/codearena#13 · 1 commento ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
sennaicodes/codearena#34 ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
sennaicodes/codearena#33 ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
sennaicodes/codearena#32 ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
sennaicodes/codearena#31 ·
Tutte le issue di sennaicodes/codearena
Issue simili
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
open-webui/open-webui#33196 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
`printf "%o"` prints decimalAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
fable-compiler/Fable#5157 ·
I maintainer di solito rispondono entro 1 giorno
-
New tool: PaperBananaForse già presa @github-actions l’ha presa oggi. Apertasubmission triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
kausalflow/tools#243 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: apple-music area: build-release bug effort: small priority: high
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ChristianTabor/Argon#32 ·
I maintainer di solito rispondono entro 1 giorno
-
0️⃣ phase/new
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno