Classifying software changes: Clean or buggy?
Cet article présente une nouvelle technique pour prédire les bogues logiciels latents, appelés classification de changement. classification Changement utilise un classificateur d’apprentissage de la machine afin de déterminer si un nouveau changement de logiciel est plus semblable à des changements buggy avant ou des changements propres. De cette manière, la classification des changements prédit l’existence de bugs dans les changements de logiciels. Le classificateur est formé à l’aide des fonctionnalités (au sens de l’apprentissage de la machine) extrait de l’historique des révisions d’un projet de logiciel stocké dans son référentiel de gestion de configuration logicielle. Le classificateur formé peut classer les modifications comme buggy ou propre, avec une précision de 78 pour cent et un changement de voiturette de 60 pour cent le rappel en moyenne. Modifier le classement a plusieurs qualités souhaitables: 1) La granularité de prédiction est faible (un changement dans un seul fichier), 2) les prévisions ne nécessitent pas d’informations sémantiques sur le code source, 3) les travaux de technique pour un large éventail de types de projets et la programmation langues, et 4) les prévisions peuvent être faites immédiatement après l’achèvement d’un changement. Contributions du présent document comprennent une description de l’approche de classification des changements, les techniques d’extraction de caractéristiques à partir du code source et de modifier l’histoire, une caractérisation de la performance de la classification des changements dans 12 projets open source, et une évaluation de la puissance prédictive des différents groupes de traits. Traduit à l'aide de Google Translate