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™ lance Thread Analyzer for Java

mai 2008 par Marc Jacob

Coverity™, Inc., spécialiste de l’amélioration automatique de la qualité et de la sécurité des logiciels développés en C/C++ et Java, annonce la sortie de Coverity Thread Analyzer for Java, outil d’analyse dynamique pour applications multithread pour détecter automatiquement les erreurs de programmation susceptibles d’entraîner une altération des données ou encore un dysfonctionnement de l’application considérée. Coverity Thread Analyzer peut également être utilisé en association avec Coverity Prevent, outils d’analyse statique, pour créer une solution de suivi de la qualité logicielle et permettre ainsi aux développeurs de mieux maîtriser la complexité d’écriture des applications multithread.

Coverity Thread Analyzer for Java observe le code lors de son exécution, identifiant automatiquement et de façon prédictive les situations de concurrence et les interblocages (deadlocks). Dans l’univers de l’analyse dynamique, la nouvelle solution de Coverity est unique car elle assure la détection non seulement des problèmes qui se produisent dans des environnements de test limités mais également ceux susceptibles d’apparaître en conditions réelles de fonctionnement.

Cette distinction s’avère particulièrement importante pour les applications multithread qui, de par leur complexité, peuvent très bien fonctionner sans le moindre problème pendant très longtemps avant que, subitement, une « conjonction parfaite » d’événements système ne fasse apparaître une erreur de programmation concurrentielle. Par exemple, la coupure générale d’électricité survenue en Amérique du Nord en 2003 était due à une situation de concurrence, apparue après que le système eut fonctionné normalement pendant trois millions d’heures consécutives.

Coverity Thread Analyzer permet aussi de réduire les risques associés à la migration de bases de codes complexes monothread dans des environnements multicœurs. La solution assure cette migration en signalant aux utilisateurs les données partagées au niveau des threads et notamment les zones pour lesquelles il serait nécessaire d’introduire des règles de verrouillage. Les développeurs ont ainsi la possibilité d’identifier de façon proactive les problèmes de concurrence – existants et potentiels – et de les éliminer avant qu’ils ne causent d’accidents ou d’échecs en conditions réelles d’utilisation.

Coverity Thread Analyzer peut également être associé à Coverity Prevent pour offrir aux développeurs Java une solution d’analyse permettant d’identifier et d’éliminer les situations de concurrence et autres défauts de code critiques, susceptibles de causer des ralentissements, des échecs ou encore des accidents graves. Complémentaires, ces deux solutions Coverity accélère et réduit le temps d’exécution associé à l’analyse dynamique, tout en améliorant la précision d’analyse statique par l’élimination des faux positifs.

Coverity Thread Analyzer affiche un temps d’exécution de 2x seulement pour la plupart des programmes, ce qui en fait un outil adapté aux environnements de production exigeants, accueillant par exemple des applications interactives ou tout autre type d’application soumise à des contraintes de temps élevées.

Parmi les avantages qu’offre la solution aux développeurs, on peut notamment citer les suivants :

 Détection automatique des erreurs – Un dispositif unique d’analyse de thread qui détecte automatiquement les erreurs de programmation concurrentielle, y compris les situations de concurrence et les interblocages.

 Temps d’exécution réduit – Une technologie pointue qui permet à l’outil de fonctionner en réduisant de manière significative – par rapport aux autres outils comparables – l’impact sur les performances de la mémoire et des fonctions système.

 Intégration d’Eclipse IDE – Une fonctionnalité qui permet au développeur d’identifier immédiatement et de corriger les erreurs de programmation concurrentielle, ce qui se traduit in fine par un processus de développement logiciel plus rapide.

 Intégration de Coverity Prevent – Les solutions d’analyse statique et dynamique de Coverity peuvent être combinées pour créer une puissante solution, à même de garantir une qualité supérieure de programmation logicielle.

Coverity Thread Analyzer est une solution autonome, fonctionnant sur les plates-formes suivantes : Linux (32-bit et 64-bit), Solaris Sparc, Solaris X86, Windows XP et Server 2003, Mac OS X. La solution prend en charge Sun JDK 1.5, 1.5 JVM d’IBM et BEA Jrockit 5.


Voir les articles précédents

    

Voir les articles suivants