La réclamation est - au mieux - naïve.
Le SLOC n'est pas une mesure fiable pour quoi que ce soit d'utile, sauf peut-être en comparant la taille de deux projets ou plus. De plus, il existe deux types distincts de SLOC, le LOC physique et le LOC logique, et ceux-ci peuvent être très différents. Prenons cet exemple, tiré de Wikipedia :
for (i = 0; i < 100; i += 1) printf("hello");
Nous avons ici une LOC physique, mais deux logiques ( for
et printf
déclarations). Mais nous pourrions bien sûr écrire l'exemple sous la forme:
for (i = 0; i < 100; i += 1)
printf("hello");
Ce qui nous donnerait deux LOCs physique et deux logiques. Je pense qu'il est clair que toute mesure de "bogue par emplacement" qui dépendrait de LOCs physiques serait entachée par le style de programmation; notre mesure serait donc en grande partie inutile.
Si, par contre, nous utilisions des LOC logiques, notre mesure dépendrait fortement des idiosyncrasies syntaxiques du langage. Bien que la métrique résultante puisse être un peu utile lors de la comparaison de projets écrits dans la même langue, elle serait plutôt inutile pour des projets écrits dans des langues différentes.
L’une des sources possibles de cette réclamation est la faille et les faussetés :
Nous pouvons en conclure que le choix du langage de programmation est au mieux faiblement lié à la fiabilité.
Plus tard, l'article mentionne des densités de défauts similaires pour C et C ++:
Dans une étude récente comparant deux systèmes similaires de taille similaire (environ 50 000 lignes chacune), un en C et un en C ++ conçu par un objet, les densités de défauts résultantes étaient à peu près identiques à 2,4 et 2,9 par 1000 lignes respectivement.
Ceci, cependant, ne signifie pas que "bug par LOC" est constant dans tous les langages de programmation, ou qu'il serait significatif s'il l'était.