MétaCan
Menu
Retour à la cohorte
Enregistrement W4323851663 · doi:10.1002/smr.2548

Combining object‐oriented metrics and centrality measures to predict faults in object‐oriented software: An empirical validation

2023· article· en· W4323851663 sur OpenAlexafffund
Alexandre Ouellet, Mourad Badri

Notice bibliographique

RevueJournal of Software Evolution and Process · 2023
Typearticle
Langueen
DomaineComputer Science
ThématiqueSoftware Engineering Research
Établissements canadiensUniversité du Québec à Trois-Rivières
Organismes subventionnairesFonds de recherche du Québec – Nature et technologiesNatural Sciences and Engineering Research Council of Canada
Mots-clésCentralityComputer scienceSoftware metricData miningObject-oriented programmingSoftwareSoftware fault toleranceObject (grammar)Fault (geology)Artificial intelligenceSoftware developmentMachine learningSoftware qualityProgramming languageMathematics

Résumé

récupéré en direct d'OpenAlex

Abstract Many object‐oriented metrics have been proposed in the literature to measure various structural properties of object‐oriented software. Furthermore, many centrality measures have been introduced to identify central nodes in large networks. However, few studies have used them to measure dependencies in software systems. In fact, centrality measures, as opposed to most traditional object‐oriented metrics that mainly focus on intrinsic properties of classes, can be used to better model the control flow and to identify the most important classes in a software system. This paper aims (1) to investigate the relationships between object‐oriented metrics and centrality measures and (2) to explore the ability of their combination to support fault‐proneness prediction from different perspectives (fault‐prone classes, fault severity, and number of faults). Many studies in the literature have addressed the prediction of fault‐prone classes, from different perspectives, using object‐oriented metrics. The main motivation here is in fact to investigate if the information captured by centrality measures is related to fault proneness and complementary to the information captured by object‐oriented metrics and to investigate if the combination of object‐oriented metrics and centrality measures improves the performance of fault‐proneness prediction significantly. We used size, complexity, and coupling object‐oriented metrics in addition to various centrality measures. We collected data from 20 different versions of five open‐source Java software systems. We first studied the relationships between selected metrics and their relationships to fault proneness. Then, we built different models to predict fault‐prone classes using several machine learning algorithms. In addition, we built models to predict if a class contains a high severity fault, and the number of faults in a class. Results indicate that using centrality measures in combination with object‐oriented metrics improves the prediction of fault‐prone classes as well as the prediction of the number of faults in a class. However, the combination has no significant impact, according to the data we collected, on the quality of the prediction of fault severity. Moreover, using centrality measures in combination with object‐oriented metrics also improves the prediction performance of fault proneness and the number of faults in both cross‐version and cross‐system validation.

Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.

Comment cette classification a été obtenuedéplier

Prédiction machine sur la base complète

Imitation des enseignants

Ni prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.

score de la tête « metaresearch » (Codex)0,017
score de la tête « metaresearch » (Gemma)0,082
Version: metacan-v3-hybrid-931329e0061cStatut de validation: machine_predicted_unvalidated
Catégories candidatesaucune
Catégories consensuellesaucune
DomaineSignal candidat: aucune · Signal consensuel: aucune
Devis d'étudeSignal candidat: Simulation ou modélisation · Signal consensuel: aucune
GenreSignal candidat: Empirique · Signal consensuel: Empirique
Score de désaccord entre enseignants0,017
Score d'incertitude au seuil0,088

Scores du classifieur distillé par catégorie (deux têtes)

CatégorieCodexGemma
Métarecherche0,0170,082
Méta-épidémiologie (sens strict)0,0010,000
Méta-épidémiologie (sens large)0,0010,001
Bibliométrie0,0050,003
Études des sciences et des technologies0,0010,001
Communication savante0,0010,003
Science ouverte0,0020,001
Intégrité de la recherche0,0010,002
Charge utile insuffisante (le modèle a refusé de juger)0,0010,001

Scores machine (provisoires)

Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.

Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.

Tête enseignante Opus0,033
Tête enseignante GPT0,326
Écart entre enseignants0,293 · la distance entre les deux têtes enseignantes sur ce seul travail
Statut de validationscore_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découle

Classification

machine, non validée

Prédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.

Les modèles n’ont appliqué aucune catégorie : rien dans la taxonomie ne correspondait à ce travail.
Devis d'étudeSimulation ou modélisation
Domainenon disponible
GenreEmpirique

Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».

En bref

Citations12
Publié2023
Routes d'admission2
Résumé présentoui

Explorer davantage

Même revueJournal of Software Evolution and ProcessMême sujetSoftware Engineering ResearchTravaux en français237 207