← Últimos artículos
💻 computer science

GitReq: A Gold Standard Dataset for Software Quality Requirements

Este artículo presenta GitReq, un conjunto de datos disponible públicamente de 6.302 problemas de GitHub validados por expertos y categorizados en ocho requisitos de calidad de software alineados con la norma ISO/IEC 25010:2011, el cual sirve como un estándar de oro para avanzar en la clasificación automatizada de requisitos y el análisis de la calidad del software.

Autores originales: Farha Kamal, Md Humaun Kabir, Md Rakibul Islam

Publicado 2026-06-23
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Farha Kamal, Md Humaun Kabir, Md Rakibul Islam

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que entras en una biblioteca enorme y caótica donde millones de personas han dejado notas adhesivas en los estantes. Estas notas no son simples quejas aleatorias; son los desarrolladores del software del mundo susurrando (o gritando) sobre cómo sus creaciones deberían funcionar mejor. Algunos dicen: "¡Esta aplicación es demasiado lenta!" (Rendimiento). Otros dicen: "¡Necesitamos un mejor cerrojo en la puerta!" (Seguridad). Otros dicen: "¡También debería funcionar en mi teléfono viejo!" (Portabilidad).

El problema es que estas notas son un desastre. Están mezcladas, escritas en jerga y enterradas bajo millones de otras notas sobre errores, preguntas y solicitudes de funciones. Hasta ahora, nadie había organizado estas notas de "calidad" específicas en una colección ordenada y etiquetada para que los investigadores pudieran estudiarlas.

Entra GitReq: El Gran Bibliotecario.

Los autores de este artículo construyeron GitReq, un conjunto de datos de "Estándar de Oro". Piensa en esto como un archivo meticulosamente organizado de 6.302 de estas notas de desarrolladores, extraídas de más de 4.000 proyectos de software diferentes en GitHub.

Así es como lo hicieron, desglosado en pasos sencillos:

1. La búsqueda del tesoro (Minería)

El equipo no tomó notas al azar. Utilizaron una estrategia de "tres señales" para encontrar las correctas. Imagina buscar un tipo específico de pez en un estanque:

  • Señal 1: Buscaron la "bandera" adecuada (una etiqueta que el desarrollador ya puso en la nota, como "Seguridad").
  • Señal 2: Comprobaron si la nota era realmente una solicitud de algo nuevo (etiquetas como "Solicitud de función" o "Mejora"), ignorando las notas que eran solo informes de errores o preguntas.
  • Señal 3: Escanearon el texto en busca de palabras clave específicas (como "lento", "hack" o "caída").

Empezaron con 55.588 notas potenciales. ¡Ese es un montón de papel!

2. La máquina de clasificación (Preprocesamiento)

Antes de que los humanos pudieran leerlas, el equipo construyó dos "máquinas de clasificación" diferentes porque las notas venían en dos sabores muy distintos:

  • La máquina de "NFR" (Requisitos No Funcionales): Estas son notas sobre cómo se comporta el sistema (velocosidad, seguridad, fiabilidad). Estas notas suelen ser cortas, desordenadas y llenas de jerga (por ejemplo, "El servidor se cae cuando 100 personas se conectan"). La máquina limpió el ruido pero mantuvo el lenguaje desordenado del mundo real.
  • La máquina de "FR" (Requisitos Funcionales): Estas son notas sobre qué debe hacer el sistema (por ejemplo, "El sistema debe permitir a los usuarios guardar archivos"). Estas necesitan ser muy específicas. La máquina fue estricta: si la nota no sonaba como una regla formal (usando palabras como "debe", "tendrá que" o "historia de usuario"), era descartada. Esto aseguró que no incluyeran accidentalmente ideas de funciones vagas.

3. El panel de expertos (Anotación Humana)

Después de que las máquinas hicieran su trabajo, todavía tenían unas 8.500 notas. Aquí es donde ocurrió la magia humana.

  • Los Jueces: Siete expertos en ingeniería de software se sentaron a leer estas notas.
  • El Entrenamiento: Pasaron horas aprendiendo las reglas, utilizando una guía estándar llamada ISO/IEC 25010. Piensa en esto como un libro de reglas que define exactamente qué significa "Seguridad" frente a "Escalabilidad".
  • El Veredicto: Etiquetaron cada nota en una de ocho categorías: Rendimiento, Seguridad, Portabilidad, Disponibilidad, Tolerancia a fallos, Escalabilidad, Mantenibilidad y Funcional.
  • El Acuerdo: No solo adivinaron. Verificaron su trabajo entre sí. Cuando discrepaban, lo discutían hasta que llegaban a un acuerdo. El resultado fue un nivel de acuerdo muy alto (una puntuación de 0,72), lo que significa que las etiquetas son confiables.

4. La colección final

De los más de 55.000 candidatos originales, terminaron con 6.302 notas de alta calidad y verificadas por expertos.

  • La Mezcla: Aproximadamente la mitad tratan sobre Seguridad y Rendimiento (las preocupaciones más comunes).
  • La Variedad: Cubren desde frameworks web hasta aplicaciones móviles y sistemas en la nube.
  • La Prueba: Incluso probaron este nuevo conjunto de datos contra cuatro potentes modelos de IA (como GPT-5.2). Los modelos de IA tuvieron dificultades, especialmente con categorías complicadas como "Mantenibilidad", lo que demuestra que este conjunto de datos es una prueba difícil y realista para futuras herramientas de IA.

¿Por qué es esto importante?

Antes de esto, los investigadores que intentaban enseñar a las computadoras a entender la calidad del software tenían que usar conjuntos de datos diminutos y antiguos o documentos formales que no se parecían a la vida real. Era como intentar aprender a conducir un coche leyendo solo un libro de texto escrito en 1990.

GitReq es como dar a los investigadores un simulador de conducción del mundo real, totalmente nuevo. Les permite construir mejores herramientas de IA que realmente puedan entender las conversaciones desordenadas y reales que los desarrolladores tienen cada día, ayudando a detectar problemas de calidad de forma más rápida y precisa.

En resumen: El artículo no solo encontró una aguja en un pajar; construyeron toda una nueva biblioteca de agujas, las clasificaron por tipo y le dieron al mundo un mapa para encontrarlas.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →