MinCheck: Herramienta de generación de contraejemplos mínimos para estudiantes.

Loading...
Thumbnail Image

Official URL

Full text at PDC

Publication date

2026

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

License
Creative Commons
Citations
Google Scholar

Citation

Abstract

MinCheck es una plataforma web que integra la gestión de asignaturas y ejercicios de programación con un juez virtual capaz de generar un feedback adaptado al código del alumno. A partir del enunciado de un ejercicio en PDF y la solución de referencia que aporta el profesor, el sistema genera automáticamente los casos de prueba necesarios para evaluar las entregas. Cuando la entrega de un alumno resulta incorrecta, la aplicación no se limita a devolver un simple incorrecto, sino que busca, mediante pruebas basadas en propiedades, el contraejemplo más pequeño posible que invalide la solución del alumno, y ofrece una visualización paso a paso de las estructuras de datos durante la ejecución. De esta forma, le facilita al alumno la depuración de su código para encontrar el error y llegar a la solución correcta. La herramienta contempla dos roles: el profesor gestiona asignaturas y temas, sube enunciados y soluciones, genera casos de prueba que se incluyen en el ejercicio o aparte, y revisa las entregas de los alumnos; el alumno se matricula en las asignaturas mediante un código de acceso, entrega sus soluciones, recibe el feedback generado, consulta su historial de entregas, y visualiza la estructura de datos de su código. El desarrollo combina un frontend en Next.js, un backend en Flask apoyado en un servicio de FastAPI, una base de datos en Supabase y un modelo de lenguaje local para la interpretación de enunciados.
MinCheck is a web platform that integrates the management of subjects and programming exercises with a virtual judge capable of generating feedback tailored to each student’s code. Given a PDF exercise statement and the reference solution provided by the teacher, the system automatically generates the test cases needed to evaluate submissions. When a student’s submission is incorrect, the application doesn’t simply return an incorrect verdict: it searches, through property-based testing, for the smallest possible counterexample that invalidates the student’s solution, and provides a stepby- step data structure visualization during the execution. This helps the student debug their code, find the error, and reach the correct solution. The tool supports two roles: the teacher manages subjects and topics, uploads statements and solutions, generates test cases, either included in the exercise or separately, and reviews student submissions; the student enrolls in subjects using an access code, submits solutions, receives the generated feedback, checks their submission history, and visualizes the data structure of their code. The development combines a Next.js frontend, a Flask backend supported by a FastAPI service, a Supabase database, and a local language model for interpreting exercise statements.

Research Projects

Organizational Units

Journal Issue

Description

GitHub El código de MinCheck está disponible en el siguiente enlace de github: https: //github.com/mirunaNG/MinCheck-TFG The MinCheck code is available at the following GitHub link: https://github .com/mirunaNG/MinCheck-TFG

Keywords