Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le code open source égal ou meilleur que le code propriétaire
Selon Coverity

Le , par Hinault Romaric

34PARTAGES

13  0 
Coverity, l’éditeur de solutions pour l’analyse statique du code source dans son dernier rapport révèle que le code source des applications open source est au même niveau, voire meilleur que le code des applications propriétaires.

Le projet « Coverity Scan » a débuté en 2006 en partenariat avec le département américain de la sécurité intérieure. L’étude examine l’intégrité et la qualité des logiciels open sources et propriétaires en utilisant la plateforme d’analyse statique Coverity. L’outil recherche des défauts dans le code tels que le déréférencement des pointeurs, la corruption de mémoire, les problèmes de flux de contrôle, les variables non initialisées, etc.

Le rapport de Coverity est basé sur l’analyse de plus de 37 millions de codes open source et de plus de 300 millions de codes propriétaires. C’est la première fois que le code propriétaire est pris en compte dans l’étude.

Suite à l’examen de 45 projets open sources majeurs ayant en moyenne chacun près de 820 000 lignes de code, l’éditeur a constaté une densité moyenne de défauts de 0,45 sur la base du nombre de défauts pour 1 000 lignes de code.

Tandis qu’un taux de défauts de 0,64 pour 1 000 lignes de code a été constaté pour les applications propriétaires. L’entreprise a examiné 41 projets propriétaires ayant en moyenne 7,55 millions de lignes de code.

Les projets open source Linux 2.6, PHP 5.3 et PostgreSQL ont été marqués comme ayant du code de bonne qualité par les chercheurs de Coverity, avec respectivement une densité de défauts de 0,62, 0,20, 0,21. Linux 2.6 avec ses 7 millions de lignes de code présente une densité de défauts de code presque identique à celle de ses homologues propriétaires.

Coverity conclut de ce fait que l’hypothèse que les solutions open sources soient de qualité inférieure ne devrait pas être considérée comme une raison valable pour éviter les applications libres.

Source : Le rapport de Coverity

Et vous ?

Trouvez-vous que le code open source est meilleur que le code propriétaire ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 27/02/2012 à 16:49
La qualité du code, c'est important. Mais l'open source ne se focalise pas sur les mêmes éléments que le commercial. Souvent, le commercial est créé dans une optique de prendre le marché avant le concurrent. Ca ne favorise pas la qualité intrinsèque du code.

Je ne sais plus ou j'avais lu que la base de code d'Amazon était exceptionellement mauvaise en terme de qualimétrie. Sauf que cette lourde dette technique leur a permis de s'emparer du marché. Ils continuent à la payer, mais au vu du succès, c'est un prix tout à fait acceptable, à mon sens.
16  0 
Avatar de Doksuri
Membre expert https://www.developpez.com
Le 27/02/2012 à 17:04
Je pense que les codes open-sources sont, a long terme, de meilleure qualite, car un jour, un gars (ou femme) dira "tiens, ca, ca peut etre ameliore"... du coup...au fil du temps, le code sera de mieux en mieux..
alors que le proprietaire n'a pas autant "d'yeux".
10  3 
Avatar de gorgonite
Rédacteur/Modérateur https://www.developpez.com
Le 27/02/2012 à 18:00
Citation Envoyé par Neko Voir le message
Autant je vois comment ils ont pu faire des scans sur du code Open Source, autant sur du code propriétaire... ils font comment ?
ils se basent sûrement sur des statistiques renvoyées par leurs clients, mais clairement cela signifie que c'est au bon vouloir des clients... donc pas forcément représentatif

Citation Envoyé par Neko Voir le message
Autre chose je vois qu'ils ont inclut dans les stats de très gros projets bien connus pour l'Open source, mais pas d'infos pour les codes propriétaire ?
informations confidentielles... on ne livre pas son porte-feuille client a priori sans accord, etc. Il est donc plus simple de parler de "logiciels propriétaires" sans en dire plus

Citation Envoyé par Neko Voir le message
Bref beaucoup de choses bizarres, ils semblent juste chercher à se faire de la pub en créant la polémique.
Citation Envoyé par MiaowZedong Voir le message
Sinon, +1 pour El Slapper.

P.S. à lire l'article, c'est effectivement plus une pub pour Coverity qu'une étude fiable.
Cela semble évident... d'autant plus pour un produit qui a en fait peu de parts de marché en Europe, et technique assez proche d'un PolySpace assez répandu chez les éditeurs de logiciels critiques (mais avec un moindre support des langages si je me souviens bien... là encore est-ce important pour du soft critique ?)

Citation Envoyé par MiaowZedong Voir le message
Comment definissent-t-ils le défaut, pour que leur outil automatisé puisse le detecter?
une partie de ses analyses statiques utilisent l'interprétation abstraite (comme les outils PolySpace ou Astrée) et la précision de l'analyse repose sur la performance du/des domaine(s) abstrait(s) utilisés en interne... il y a des grands exemples hyperconnus (signes, intervalles, zones, octogones, polyèdres) et d'autres beaucoup plus confidentiels (surtout les domaines relationnels).

donc ils ont cité quelques exemples d'erreurs : déréférencement de pointeur null, utilisation de variables non initialisées, etc. Mais clairement, être précis sur ce point n'est pas du niveau a priori d'un rédacteur de news (et comprendre le fonctionnement d'un domaine abstrait c'est M2 recherche mini)

Citation Envoyé par teddyalbina Voir le message
Mouais franchement je n’ai pas vue beaucoup de projet open source bien codé et encore moins bien documenté.
Pour le problème d'yeux quand tu sais qu'un soft comme windows c'est 6000 personnes je pense que niveau yeux ça doit être suffisant. Mais il ne faut pas oublier que tout simplement un soft est par définition imparfait car l'Homme ne l'est pas.
avis particulièrement partisan et preuve d'une méconnaissance du fonctionnement des "gros et beaux" projets open-source (après si on ne regarde que les CMS php codés par des kevins, forcément c'est ultra-représentatif)
6  0 
Avatar de Christuff
Membre habitué https://www.developpez.com
Le 27/02/2012 à 18:16
Moi je vois surtout l'etude tronquee :


Suite à l’examen de 45 projets open sources majeurs ayant en moyenne chacun près de 820 000 lignes de code, l’éditeur a constaté une densité moyenne de défauts de 0,45 sur la base du nombre de défauts pour 1 000 lignes de code.

Tandis qu’un taux de défauts de 0,64 pour 1 000 lignes de code a été constaté pour les applications propriétaires. L’entreprise a examiné 41 projets propriétaires ayant en moyenne 7,55 millions de lignes de code.
forcement dans 1 ligne de code il y a moins d'erreur que dans 10 ....
La ou ca se revele interessant c'est ou il est dit


Linux 2.6 avec ses 7 millions de lignes de code présente une densité de défauts de code presque identique à celle de ses homologues propriétaires.
Comme quoi, le défaut dans le code est plus lié a la taille du projet / nombre de lignes a écrire / nombre d'intervenant que dans le simple débat open-source vs propriétaire
9  4 
Avatar de _skip
Expert éminent https://www.developpez.com
Le 27/02/2012 à 19:03
Déjà je pense que juger de la qualité d'un code uniquement sur de l'analyse statique est peut être pas suffisant. Je doute que les outils de ce genre sachent évaluer précisément si une base de code est humainement de qualité ou non et encore moins si la solution résultante est bonne ou non.

La qualité d'une solution ça peut aussi être un tout qui englobe la documentation, le support, le fonctionnel, la réponse adéquate au besoin. Un code en soi, ça peut être une oeuvre d'art dans l'IDE et pourtant une fois compilé ça donne un produit de merde.

Enfin pour parler du code puisque c'est ce qui est testé ici, je pense que ce n'est pas vraiment facile de savoir si la qualité open source est généralement meilleure que le propriétaire. Je pense que la qualité d'un code dépend de la personne qui l'écrit puis de celles qui dirigent le projet, de la qualité des standards en place et de leurs moyens (parfois financiers) en terme de test notamment. Je pense qu'avant même l'aspect open source ou non, il y a la façon dont le projet est géré et sa politique interne qui vont jouer un rôle.

Je ne suis pas persuadé que les clients qui utilisent du open source aient forcément l'envie ou les moyens de faire du développement, j'utilise professionnellement pas mal de logiciels open source mais s'ils posent des problèmes je ne vais pas aller télécharger le code et faire du débuggage. Ce n'est pas parce que l'utilisateur peut techniquement s'impliquer qu'il va le faire ou qu'il a les compétences pour le faire, s'il a un problème avec postgresql, il est probable qu'il fasse la même chose qu'avec oracle ou sql server ou encore db2, càd aller sur les forums, signaler le bug (si possible encore) et attendre avec beaucoup d'espoir. Et s'il a trop de problème, il va peut être envisager de passer à autre chose.
4  0 
Avatar de MiaowZedong
Membre extrêmement actif https://www.developpez.com
Le 27/02/2012 à 17:10
Je ne pense pas que la problème soit l'échantillon....

Comment definissent-t-ils le défaut, pour que leur outil automatisé puisse le detecter?

Sinon, +1 pour El Slapper.

P.S. à lire l'article, c'est effectivement plus une pub pour Coverity qu'une étude fiable.
2  0 
Avatar de hugoterelle
Futur Membre du Club https://www.developpez.com
Le 28/02/2012 à 1:25
Je dirais plutôt que le code open source est souvent développé par des gars qui codent le jour sur du propriétaire, et le soir sur de l'open-source. Ou certaines sociétés permettent à leurs développeurs "phares" de coder sur de l'open-source pendant leur journée (prenons les exemples apache cxf-servicemix, ce ne sont pas des manches qui sont mandatés par les sociétés sponsors).
Par contre, sur du propriétaire, pour avoir voyagé dans beaucoup de boites en tant que freelance, on peut voir de tout, mais surtout des gars qui sont là pour le coté alimentaire du métier, et donc, pas spécialement concernés par du code de qualité, mais plutôt par l'horloge qui arrive à 15h36 (7h36 de boulot en Belgique!!!). Et puis, qui n'a jamais récupéré du code propriétaire "mastodonte" dans la boite où il était mandaté comme consultant.
2  0 
Avatar de Neko
Membre chevronné https://www.developpez.com
Le 27/02/2012 à 17:06
Autant je vois comment ils ont pu faire des scans sur du code Open Source, autant sur du code propriétaire... ils font comment ?
Autre chose je vois qu'ils ont inclut dans les stats de très gros projets bien connus pour l'Open source, mais pas d'infos pour les codes propriétaire ?
Puis bon faire des stats sur une 40 aine de projets c'est loin d'être révélateur.
Bref beaucoup de choses bizarres, ils semblent juste chercher à se faire de la pub en créant la polémique.
2  1 
Avatar de teddyalbina
Membre confirmé https://www.developpez.com
Le 27/02/2012 à 17:33
Citation Envoyé par MiaowZedong Voir le message
Je ne pense pas que la problème soit l'échantillon....

Comment definissent-t-ils le défaut, pour que leur outil automatisé puisse le detecter?

Sinon, +1 pour El Slapper.

P.S. à lire l'article, c'est effectivement plus une pub pour Coverity qu'une étude fiable.


C'est LA QUESTION
2  1 
Avatar de kolodz
Modérateur https://www.developpez.com
Le 27/02/2012 à 19:35
J'ai toujours été septique sur l'analyse sur les LOC...
Je vois tous les jours au travail des classes/fonctions kilométrique. Elles n'ont certes pas de défauts en soit, mais c'est un magma de copier-coller.
La densité de défaut n'est une métrique en soit...

Si t'as trois programmes qui font la même chose :
1 a une densité de défaut de 10 et 2M de LOC
2 a une densité de défaut de 1 et 100M de LOC
3 a une densité de défaut de 5 et 5M de LOC

Je vous pari tout ce que vous voulez que 1 et 3 sont largement plus facile à corriger, à maintenir et à faire évoluer.

Ce qu'il faut retenir, c'est qu'un code libre n'est pas moins bien qu'un code propriétaire. Combien de serveur tourne sous apache ?...

Cordialement,
Patrick Kolodziejczyk.
1  0