← Últimos artigos
💻 computer science

GitReq: A Gold Standard Dataset for Software Quality Requirements

Este artigo apresenta o GitReq, um conjunto de dados publicamente disponível de 6.302 problemas do GitHub validados por especialistas e categorizados em oito requisitos de qualidade de software alinhados à norma ISO/IEC 25010:2011, que serve como um padrão ouro para o avanço da classificação automatizada de requisitos e da análise de qualidade de software.

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

Publicado 2026-06-23
📖 5 min de leitura🧠 Leitura aprofundada

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

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está entrando em uma biblioteca enorme e caótica onde milhões de pessoas deixaram notas adesivas nas prateleiras. Essas notas não são apenas reclamações aleatórias; elas são os desenvolvedores do software do mundo sussurrando (ou gritando) sobre como suas criações deveriam funcionar melhor. Alguns dizem: "Este aplicativo é muito lento!" (Desempenho). Outros dizem: "Precisamos de uma tranca melhor na porta!" (Segurança). Outros dizem: "Deve funcionar no meu celular antigo também!" (Portabilidade).

O problema é que essas notas são uma bagunça. Elas estão misturadas, escritas em gírias e enterradas sob milhões de outras notas sobre bugs, perguntas e solicitações de recursos. Até agora, ninguém havia organizado essas notas específicas de "qualidade" em uma coleção organizada e rotulada para que pesquisadores pudessem estudá-las.

Apresentando o GitReq: O Grande Bibliotecário.

Os autores deste artigo construíram o GitReq, um conjunto de dados "Padrão-Ouro". Pense nisso como um arquivo meticulosamente organizado de 6.302 dessas notas de desenvolvedores, extraídas de mais de 4.000 projetos de software diferentes no GitHub.

Aqui está como eles fizeram isso, dividido em etapas simples:

1. A Caça ao Tesouro (Mineração)

A equipe não pegou notas aleatórias. Eles usaram uma estratégia de "três sinais" para encontrar as corretas. Imagine procurar um tipo específico de peixe em um lago:

  • Sinal 1: Eles procuraram pela "bandeira" certa (um rótulo que o desenvolvedor já colocou na nota, como "Segurança").
  • Sinal 2: Eles verificaram se a nota era realmente um pedido de algo novo (rótulos como "Solicitação de Recurso" ou "Melhoria"), ignorando notas que eram apenas relatórios de bugs ou perguntas.
  • Sinal 3: Eles escanearam o texto em busca de palavras-chave específicas (como "lento", "hack" ou "travamento").

Eles começaram com 55.588 notas potenciais. Isso é uma pilha enorme de papel!

2. A Máquina de Classificação (Pré-processamento)

Antes que os humanos pudessem lê-las, a equipe construiu duas "máquinas de classificação" diferentes porque as notas vinham em dois sabores muito distintos:

  • A Máquina "NFR" (Requisitos Não Funcionais): Estes são notas sobre como o sistema se comporta (velocidade, segurança, confiabilidade). Essas notas são frequentemente curtas, bagunçadas e cheias de gírias (ex: "Servidor trava quando 100 pessoas logam"). A máquina limpou o ruído, mas manteve a linguagem real e desordenada.
  • A Máquina "FR" (Requisitos Funcionais): Estas são notas sobre o que o sistema deve fazer (ex: "O sistema deve permitir que usuários salvem arquivos"). Elas precisam ser muito específicas. A máquina foi rigorosa: se a nota não parecesse uma regra formal (usando palavras como "deve", "irá" ou "história de usuário"), ela era descartada. Isso garantiu que não incluíssem acidentalmente ideias de recursos vagas.

3. O Painel de Especialistas (Anotação Humana)

Depois que as máquinas fizeram seu trabalho, eles ainda tinham cerca de 8.500 notas. Foi aqui que a magia humana aconteceu.

  • Os Juízes: Sete especialistas em engenharia de software sentaram-se para ler essas notas.
  • O Treinamento: Eles passaram horas aprendendo as regras, usando um guia padrão chamado ISO/IEC 25010. Pense nisso como um livro de regras que define exatamente o que "Segurança" significa em comparação com "Escalabilidade".
  • O Veredito: Eles rotularam cada nota em uma de oito categorias: Desempenho, Segurança, Portabilidade, Disponibilidade, Tolerância a Falhas, Escalabilidade, Manutenibilidade e Funcional.
  • O Acordo: Eles não apenas adivinharam. Eles conferiram o trabalho uns com os outros. Quando discordavam, conversavam até chegarem a um acordo. O resultado foi um nível de concordância muito alto (uma pontuação de 0,72), o que significa que os rótulos são confiáveis.

4. A Coleção Final

Do total original de mais de 55.000 candidatos, eles terminaram com 6.302 notas de alta qualidade e verificadas por especialistas.

  • A Mistura: Cerca de metade é sobre Segurança e Desempenho (as preocupações mais comuns).
  • A Variedade: Elas cobrem tudo, desde frameworks web até aplicativos móveis e sistemas em nuvem.
  • A Prova: Eles até testaram este novo conjunto de dados contra quatro modelos de IA poderosos (como o GPT-5.2). Os modelos de IA tiveram dificuldades, especialmente com categorias complexas como "Manutenibilidade", provando que este conjunto de dados é um teste difícil e realista para futuras ferramentas de IA.

Por que isso importa?

Antes disso, pesquisadores tentando ensinar computadores a entender a qualidade de software tinham que usar conjuntos de dados minúsculos e antigos ou documentos formais que não pareciam com a vida real. Era como tentar aprender a dirigir um carro lendo apenas um livro didático escrito em 1990.

O GitReq é como dar aos pesquisadores um simulador de direção do mundo real, novinho em folha. Ele permite que eles construam melhores ferramentas de IA que possam realmente entender as conversas bagunçadas e reais que os desenvolvedores têm todos os dias, ajudando a detectar problemas de qualidade de forma mais rápida e precisa.

Em resumo: O artigo não apenas encontrou uma agulha no palheiro; eles construíram uma biblioteca inteira de agulhas, as classificaram por tipo e deram ao mundo um mapa para encontrá-las.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →