← Derniers articles
💻 computer science

GitReq: A Gold Standard Dataset for Software Quality Requirements

Cet article présente GitReq, un ensemble de données public composé de 6 302 problèmes GitHub validés par des experts et classés selon huit exigences de qualité logicielle alignées sur la norme ISO/IEC 25010:2011, lequel sert de référence pour faire progresser la classification automatisée des exigences et l'analyse de la qualité logicielle.

Auteurs originaux : Farha Kamal, Md Humaun Kabir, Md Rakibul Islam

Publié 2026-06-23
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Farha Kamal, Md Humaun Kabir, Md Rakibul Islam

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous pénétrez dans une bibliothèque immense et chaotique où des millions de personnes ont laissé des post-it sur les étagères. Ces notes ne sont pas de simples plaintes aléatoires ; ce sont les développants des logiciels du monde entier qui murmurent (ou crient) la façon dont leurs créations devraient mieux fonctionner. Certains disent : « Cette application est trop lente ! » (Performance). D'autres disent : « Nous avons besoin d'un meilleur verrou sur la porte ! » (Sécurité). D'autres encore disent : « Elle devrait aussi fonctionner sur mon vieux téléphone ! » (Portabilité).

Le problème, c'est que ces notes sont un désordre total. Elles sont mélangées, écrites en argot et enfouies sous des millions d'autres notes concernant des bugs, des questions ou des demandes de fonctionnalités. Jusqu'à présent, personne n'avait organisé ces notes spécifiques de « qualité » dans une collection propre et étiquetée que les chercheurs pourraient étudier.

Entrez dans l'ère de GitReq : Le Grand Bibliothécaire.

Les auteurs de cet article ont construit GitReq, un ensemble de données « Gold Standard » (référence absolue). Considérez cela comme une archive méticuleusement organisée de 6 302 de ces notes de développeurs, extraites de plus de 4 000 projets logiciels différents sur GitHub.

Voici comment ils s'y sont pris, décomposé en étapes simples :

1. La chasse au trésor (Extraction)

L'équipe n'a pas simplement ramassé des notes au hasard. Ils ont utilisé une stratégie à « trois signaux » pour trouver les bonnes. Imaginez chercher un type de poisson spécifique dans un étang :

  • Signal 1 : Ils ont cherché le bon « drapeau » (une étiquette que le développeur a déjà apposée sur la note, comme « Sécurité »).
  • Signal 2 : Ils ont vérifié si la note était réellement une demande pour quelque chose de nouveau (étiquettes telles que « Demande de fonctionnalité » ou « Amélioration »), ignorant les notes qui n'étaient que des rapports de bugs ou des questions.
  • Signal 3 : Ils ont scanné le texte à la recherche de mots-clés spécifiques (comme « lent », « hack » ou « crash »).

Ils sont partis de 55 588 notes potentielles. C'est une énorme pile de papier !

2. La machine de tri (Prétraitement)

Avant que les humains ne puissent les lire, l'équipe a construit deux « machines de tri » différentes car les notes provenaient de deux styles très distincts :

  • La machine « NFR » (Exigences Non-Fonctionnelles) : Il s'agit de notes sur la manière dont le système se comporte (vitesse, sécurité, fiabilité). Ces notes sont souvent courtes, désordonnées et truffées d'argot (ex : « Le serveur plante quand 100 personnes se connectent »). La machine a nettoyé le bruit tout en conservant le langage réel et imparfait.
  • La machine « FR » (Exigences Fonctionnelles) : Il s'agit de notes sur ce que le système doit faire (ex : « Le système doit permettre aux utilisateurs d'enregistrer des fichiers »). Celles-ci doivent être très précises. La machine a été stricte : si la note ne ressemblait pas à une règle formelle (utilisant des mots comme « doit », « devra » ou « user story »), elle était rejetée. Cela garantissait qu'ils n'incluent pas accidentellement des idées de fonctionnalités vagues.

3. Le panel d'experts (Annotation humaine)

Après le travail des machines, il restait encore environ 8 500 notes. C'est là que la magie humaine a opéré.

  • Les juges : Sept experts en génie logiciel se sont assis pour lire ces notes.
  • L'entraînement : Ils ont passé des heures à apprendre les règles, en utilisant un guide standard appelé ISO/IEC 25010. Voyez cela comme un livre de règles qui définit exactement ce qu'est la « Sécurité » par rapport à la « Scalabilité ».
  • Le verdict : Ils ont étiqueté chaque note dans l'une des huit catégories suivantes : Performance, Sécurité, Portabilité, Disponibilité, Tolérance aux pannes, Scalabilité, Maintenabilité et Fonctionnel.
  • L'accord : Ils n'ont pas simplement deviné. Ils ont vérifié leur travail les uns par rapport aux autres. En cas de désaccord, ils en discutaient jusqu'à ce qu'ils tombent d'accord. Le résultat fut un niveau d'accord très élevé (un score de 0,72), ce qui signifie que les étiquettes sont dignes de confiance.

4. La collection finale

À partir des plus de 55 000 candidats initiaux, ils ont abouti à 6 302 notes de haute qualité, vérifiées par des experts.

  • Le mélange : Environ la moitié concerne la Sécurité et la Performance (les préoccupations les plus courantes).
  • La variété : Elles couvrent tout, des frameworks web aux applications mobiles et aux systèmes cloud.
  • La preuve : Ils ont même testé ce nouvel ensemble de données contre quatre modèles d'IA puissants (comme GPT-5.2). Les modèles d'IA ont un peu lutté, surtout avec des catégories complexes comme la « Maintenabilité », prouvant que cet ensemble de données est un test difficile et réaliste pour les futurs outils d'IA.

Pourquoi est-ce important ?

Avant cela, les chercheurs essayant d'apprendre aux ordinateurs à comprendre la qualité logicielle devaient utiliser de minuscules ensembles de données anciens ou des documents formels qui ne ressemblaient pas à la vie réelle. C'était comme essayer d'apprendre à conduire une voiture en lisant seulement un manuel écrit en 1990.

GitReq est comme si l'on donnait aux chercheurs un tout nouveau simulateur de conduite du monde réel. Cela leur permet de construire de meilleurs outils d'IA capables de comprendre réellement les conversations désordonnées que les développeurs ont chaque jour, aidant ainsi à détecter les problèmes de qualité plus rapidement et plus précisément.

En bref : Ce travail n'a pas seulement trouvé une aiguille dans une botte de foin ; ils ont construit toute une nouvelle bibliothèque d'aiguilles, les ont triées par type et ont donné au monde une carte pour les trouver.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →