QoCode: evaluación automática de calidad de código en tareas de programación

Autores/as

Palabras clave:

calidad de código, feedback automático, enseñanza de programación, análisis estático, Python

Resumen

En los últimos años, el aumento sostenido de la matrícula en carreras de informática impuso desafíos crecientes a los equipos docentes, en particular en la evaluación de tareas de programación. Como respuesta a este problema, se comenzaron a utilizar más ampliamente herramientas de corrección automática de código. Sin embargo, estas se concentran casi exclusivamente en la corrección funcional, generalmente a través de conjuntos más o menos extensos de casos de prueba. En consecuencia, faltan herramientas que generen retroalimentación estructurada con enfoque pedagógico en dimensiones de la calidad de código como la legibilidad y la mantenibilidad. En este trabajo se presenta QoCode, una herramienta web de análisis estático de código orientada a generar retroalimentación automática y pedagógicamente estructurada sobre código Python. QoCode integra validaciones sobre legibilidad y mantenibilidad propias, basadas en el árbol de sintaxis abstracta, y se complementa con verificaciones de linters reconocidos, como Pylint y Flake8. Además, QoCode permite al docente configurar explícitamente qué aspectos evaluar, de acuerdo con las necesidades de su curso y sus estudiantes. Finalmente, se incluye una evaluación preliminar sobre entregas de código de dos cursos introductorios universitarios. Los resultados sugieren que QoCode detecta defectos de manera consistente y escalable, complementando la visión docente en aspectos que habitualmente quedan fuera de la retroalimentación automática, como el uso de números mágicos, nombres demasiado cortos y funciones poco legibles. 

Descargas

Los datos de descarga aún no están disponibles.

Referencias

Ala-Mutka, K., & Jarvinen, H.-M. (2004). Assessment Process for Programming Assignments. En Proceedings of the IEEE International Conference on Advanced Learning Technologies (pp. 181-185). IEEE Computer Society.

Alberola, J. M., & García-Fornes, A. (2014). Using Feedback for Improving the Learning Process in Programming Courses. IEEE Revista Iberoamericana de Tecnologias del Aprendizaje, 9(2), 49-56. https://doi.org/10.1109/RITA.2014.2317529

Camp, T., Adrion, W. R., Bizot, B., Davidson, S., Hall, M., Hambrusch, S., Walker, E., & Zweben, S. (2017). Generation CS: the growth of computer science. En ACM Inroads (pp. 44-50, Vol. 8). Association for Computing Machinery. https://doi.org/10.1145/3084362

Effenberger, T., & Pelánek, R. (2022). Code Quality Defects across Introductory Programming Topics. Association for Computing Machinery. https://doi.org/10.1145/3478431.3499415

Keuning, H., Heeren, B., & Jeuring, J. (2017). Code Quality Issues in Student Programs. Association for Computing Machinery. https://doi.org/10.1145/3059009.3059061

Keuning, H., Jeuring, J., & Heeren, B. (2018). A Systematic Literature Review of Automated Feedback Generation for Programming Exercises. Association for Computing Machinery. https://doi.org/10.1145/3231711

Messer, M., Brown, N. C. C., Kölling, M., & Shi, M. (2024). Automated Grading and Feedback Tools for Programming Education: A Systematic Review. En ACM Trans. Comput. Educ. (Vol. 24). Association for Computing Machinery. https://doi.org/10.1145/3636515

Rechtáˇcková, A., Pelánek, R., & Effenberger, T. (2025). Code Quality Defects in Introductory ˇ Programming. En ACM Trans. Comput. Educ. (Vol. 25). Association for Computing Machinery. https://doi.org/10.1145/3749996

Stegeman, M., Barendsen, E., & Smetsers, S. (2016). Designing a rubric for feedback on code quality in programming courses. En Proceedings of the 16th Koli Calling International Conference on Computing Education Research (pp. 160-164). Association for Computing Machinery. https://doi.org/10.1145/2999541.2999555

Descargas

Publicado

2026-10-23

Número

Sección

SAEI - Simposio Argentino de Educación en Informática

Cómo citar

Varani, V. A., Ventrici, B., Fernández, G. P., & Cossio-Mercado, C. (2026). QoCode: evaluación automática de calidad de código en tareas de programación. JAIIO, Jornadas Argentinas De Informática, 12(8), 33-46. https://revistas.unlp.edu.ar/JAIIO/article/view/22274