Fuzz every problem and language driver against the reference solutions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, node.js
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- JavaScript
- Estrellas
- 0
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sennaicodes/codearena
-
Add issue and pull request templatesQuizá libre de nuevo @franciscorodr26 la tomó hace 18 días y no hay ningún pull request abierto. Abiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
sennaicodes/codearena#13 · 1 comentario ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
sennaicodes/codearena#34 ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
sennaicodes/codearena#33 ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
sennaicodes/codearena#32 ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
sennaicodes/codearena#31 ·
Todos los issues de sennaicodes/codearena
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apex-dev-tools/apex-log-parser#199 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue hacktoberfest help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
ReadBufferStream.addBuffer adds the full ArrayBuffer of a typed array view, and ignores its byteOffsetPosiblemente ocupada @wayfarer3130 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Expo 57 example: pnpm install fails with ERR_PNPM_TRUST_DOWNGRADEPosiblemente ocupada @github-actions la tomó hoy. Abiertobug react-native team/client-libraries
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
PostHog/posthog-js#5442 · 1 comentario ·
Los mantenedores suelen responder en 1 día