Retour

G-2021-60

Détection de communautés dynamiques dans les réseaux évolutifs de développeurs au sein de Chrome

, , et

référence BibTeX

Cette étude exploratoire est originale dans le champ de l'accompagnement. A partir de la base de données horodatées fournie par Google, notre étude retrace le processus de mises à jour du navigateur Chrome sur la période allant de septembre 2008 à janvier 2014. Cette base décrit la participation temporelle et volontaire de 1045 développeurs répartis dans 46 bureaux sur 22 pays à quelques 324 860 Changelists (notés CL) ou mises à jour du logiciel. Un individu qui contribue à un CL peut le faire à titre de soit "submitter", "approver", "commenter", "commenter unsollicited", "disapprover", "reviewer" ou "reviewer silent". Nous avons ainsi un réseau social évoluant sur près de six ans dans lequel la participation des développeurs à un CL commun constitue une relation de collaboration. Le réseau peut être illustré par un graphe, c'est-à-dire un ensemble de points appelés sommets reliés ou non entre eux par des segments dits arêtes. Dans ce cas, la participation à un même CL se traduit par l'existence d'arêtes entre les sommets représentant les parties impliquées.

L'étude quantitative de la base de données procède selon deux approches : soit, dans un premier temps, une analyse statistique descriptive dont l'objectif est de dessiner le profil dynamique des individus; et, dans un second temps, une classification automatique dont le but est d'associer les développeurs en sous-groupes, aussi appelés communautés, plus fortement connectés entre eux qu'avec le reste du réseau. En théorie des graphes, la classification est équivalente à la détection de communautés dans un graphe et constitue un problème combinatoire difficile, plus encore si chaque relation est assortie d'une information temporelle. Les communautés détectables sur de plus ou moins longues périodes subissent ainsi des modifications dont la chronologie peut être racontée. De plus, à partir d'une structure communautaire déterminée, des mesures quantitatives permettent de comprendre l'organisation interne du groupe et de mesurer l'efficacité du travail de collaboration.

À la lumière de notre analyse, il apparait qu'il existe plusieurs profils à l'activité d'un individu, caractérisés en particulier par l'expérience; que l'association des développeurs peut être interprétée en partie par l'affiliation à un bureau; que l'efficacité d'une communauté est fonction de la structure et sa composition.

, 19 pages

Application de recherche

Document

G2160.pdf (1,2 Mo)