Métriques d'Halstead

Métriques d'Halstead

Les métriques de complexité d'Halstead qui procurent une mesure quantitative de complexité pour des logiciels ont été introduites par l’américain Maurice Halstead. Elles sont basées sur l’interprétation du code comme une séquence de marqueurs, classifiés comme un opérateur ou un opérande.

Sommaire

Calcul

Toutes les métriques d'Halstead sont dérivées du nombre d’opérateurs et d’opérandes :

  • n1 : nombre total des opérateurs uniques
  • N1 : nombre total des opérateurs
  • n2 : nombre total des opérandes uniques
  • N2 : nombre total des opérandes

Ces chiffres sont la base pour calculer

  • La Longueur du programme (N) : N = N1 + N2.
  • La Taille du vocabulaire (n) : n = n1 + n2

On obtient le Volume du Programme (V) en multipliant par le logarithme 2 de la taille du vocabulaire :

V = N \times \log_2 n

Le Niveau de difficulté (D) ou propension d'erreurs du programme est proportionnel au nombre d’opérateurs uniques (n1) dans le programme et dépend également du nombre total d’opérandes (N2) et du nombre d'opérandes uniques (n2). Si les mêmes opérandes sont utilisés plusieurs fois dans le programme, il est plus enclin aux erreurs.

D = { n_1 \over 2 } \times { N_2 \over n_2 }

Le Niveau de programme (L) est l’inverse du Niveau de difficulté. Un programme de bas niveau est plus enclin aux erreurs qu'un programme de haut niveau.

L = { 1 \over D }

L'Effort à l'implémentation (E) est proportionnel au volume (V) et au niveau de difficulté (D):

E = V \times D

Halstead a découvert que diviser l'effort par 18 donne une approximation pour le Temps pour implémenter (T) un programme en secondes:

T = { E \over 18 }

Il est même possible d’obtenir le « nombre de bugs fournis » (B) qui est une estimation du nombre d'erreurs dans le programme. Cette valeur donne une indication pour le nombre d’erreurs qui devraient être trouvées lors du test de logiciel. Le « nombre de bugs fournis » est calculé selon la formule suivante:

B = { E^{2/3} \over 3000 }

Outils

Bibliographie

  • Maurice Howard Halstead : Elements of software science. Elsevier, New York u.a. 1977. ISBN 0-444-00205-7 (Operating and programming systems series; 2).

Lien externe

Calcul des métriques d'Halstead (article dans MSCoder)


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Métriques d'Halstead de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Testwell CMT++ — outil de mesure de complexité de code pour C et C++ est un outil d analyse de code statique qui mesure la complexité de code pour les logiciels écrit en C et C++. L outil analyse les métriques des lignes de code (LOC), les métriques d Halstead,… …   Wikipédia en Français

  • Testwell CMTJava — outil de mesure de complexité de code pour Java est un outil d analyse de code statique qui mesure la complexité de code pour les logiciels écrit en Java. L outil analyse les métriques des lignes de code (LOC), les métriques d Halstead, le nombre …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”