Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Coverity dévoile son rapport annuel sur la qualité des logiciels open source et propriétaires

mai 2013 par Coverity

Coverity Inc. annonce la publication du rapport 2012 Coverity Scan™ Open Source. Il détaille l’analyse de plus de 450 millions de lignes de code par le service Coverity Scan, ce qui représente le plus grand échantillon jamais étudié par le rapport. Ce service a été lancé en 2006 par Coverity et le U.S. Department of Homeland Security. Il s’agissait alors du plus grand projet d’étude privé-public sur l’intégrité des logiciels open source. Il est maintenant géré par Coverity.

Au cours des sept dernières années, le service Coverity Scan a analysé près de 850 millions de lignes de code provenant de plus de 300 projets open source dont Linux, PHP et Apache, ainsi que d’un échantillon anonyme de près de 300 clients de Coverity.

Voici les principaux résultats du rapport 2012 Coverity Scan Open Source :

 La qualité des logiciels open source continue d’être équivalente à celle des logiciels propriétaires, et supérieure au standard reconnu par l’industrie. La densité de défauts (le nombre de défauts pour 1 000 lignes de code) est une mesure courante de la qualité d’un logiciel. Coverity a constaté une densité moyenne de 0,69 pour les projets de logiciels open source utilisant le service Coverity Scan, et de 0,68 pour les logiciels propriétaires développés par des entreprises clientes deCoverity. Ces deux valeurs sont meilleures que la densité de 1 généralementacceptée pour un logiciel de bonne qualité. Pour la deuxième année consécutive, les codes open source et propriétaires analysés par Coverity enregistrent une densité de défauts inférieure à 1.

 Lorsque les logiciels dépassent le million de lignes de code, la qualité augmente pour les projets propriétaires, mais diminue pour les projets open source. Le code propriétaire analysé a montré une densité moyenne de défauts de 0,98 pour des projets de500 000 à 1 million de lignes de code. Au-delà, la densité diminuait à 0,66 ce qui laisse entendre qu’en général la qualité des projets propriétaires augmente lorsqu’ils dépassent cette taille. Par contre, les projets open source de 500 000 à 1 million de lignes avaient une densité de défauts moyenne de 0,44, passant à 0,75 pour plus de 1 million de lignes, soit une diminution de la qualité avec l’augmentation de la taille. Cette contradiction peut être attribuée à des dynamiques différentes au sein des équipes de développement propriétaires et open source, ainsi qu’au moment où elles implémentent des processus formels de test intégré au développement.

 Linux reste une référence en terme de qualité. Depuis le premier rapport Coverity Scan publié en 2008, les versions de Linux analysées ont toujours montré une densité inférieure à 1, passant même en dessous de 0,7 pour les versions analysées en 2011 et 2012. En 2011, Coverity analysait plus de 6,8 millions de lignes de code Linux, avec une densité de défauts de 0,62. En 2012, Coverity analysait plus de 7,4 millions de lignes de code Linux, avec une densité de défauts de 0,66. Et pour ce rapport, Coverity a analysé 7,6 millions de lignes de code Linux 3.8, avec une densité de défauts de 0,59.

 Des défauts à haut risque toujours présents. 36 % des défauts détectés par le rapport 2012 étaient classés « à haut risque », présentant une importante menace pour la qualité et la sécurité du logiciel s’ils n’avaient pas été détectés. Parmi les plus fréquents figurent les fuites de ressource, les corruptions mémoire et accès mémoire illégal, considérés comme difficiles à détecter sans une analyse automatisée.

« Le rapport de cette année conduit à une conclusion qui prend le pas sur toutes les autres : les tests intégrés au développement ne sont plus un bonus intéressant mais une nécessité », déclare Jennifer Johnson, directrice marketing de Coverity. « Le nombre croissant de projets open source ou commerciaux qui ont adopté l’analyse statique a relevé le niveau de l’ensemble du secteur. Comme nous le constatons année après année, les défauts à haut risque continuent de polluer les entreprises. En bref, si vous n’effectuez pas de tests intégrés au développement, votre compétitivité en pâtira. »

L’analyse statique est depuis longtemps connue pour améliorer la qualité du code, mais deux obstacles s’opposaient à son adoption : un fort taux de faux positifs et un manque d’informations exploitables aidant les développeurs à facilement corriger les défauts. Coverity a éliminé ces deux problèmes. Le rapport Scan 2012 montre un taux d’à peine 9,7% de faux positifs pour l’analyse statique Coverity dans les projets open source. En outre, il note que plus de 21 000 défauts ont été corrigés dans le code open source, soit plus que le total des défauts corrigés de 2008 à 2011.

« Nous avons lancé le projet Coverity Scan il y a sept ans avec l’U.S. Department of Homeland Security en tant que ressource pour la communauté open source afin de lui permettre d’améliorer la qualité de ses logiciels », déclare Andy Chou, cofondateur et CTO de Coverity. « Chaque année, en partie grâce aux progrès des technologies d’analyse statique, la taille et la portée du rapport augmentent, tout comme le nombre de défauts détectés et corrigés. Nous sommes très fiers que le service Coverity Scan ait évolué pour devenir un indicateur majeur de la qualité ducode, que les logiciels soient open source ou propriétaires, et nous comptons bien continuer ce travail dans les années à venir. »

Début 2013, Coverity a ajouté Java à la liste des langages gérés par son service d’analyse. Les développeurs peuvent inscrire leurs projets open source au service Coverity Scan sur la page http://scan.coverity.com/project_register.html

Téléchargez un exemplaire complet du rapport 2012 Coverity Scan :
http://softwareintegrity.coverity.com/register-for-the-coverity-2012-scan-report.html


Voir les articles précédents

    

Voir les articles suivants