Soirée Qualimétrie du Java User Group Lausanne

Le Java User Group Lausanne (JUGL) a organisé le jeudi 10 février une conférence traitant des outils d’analyse de la qualité logicielle sur la plate-forme Java. Le nombre d’inscriptions a dépassé les chiffres habituels et la conférence a dû avoir lieu à l’hôtel Moevenpick au lieu des locaux d’Octo Technology qui accueille habituellement les réunions. Une centaine de participants ont assisté aux présentations de solutions de
* Coverity
* Headway Software
* Parasoft
* Sonar
* XDepend

Le principe de la soirée était que chaque éditeur présente son outil en analysant le code d’IceScrum version 2. Si les approches sont différentes pour chaque outil, les mêmes défauts sont ciblés, même si c’est avec des couvertures différentes: code dangereux, duplication de code, couverture par les tests unitaires, dépendance architecturale ou respects des standards de programmation.

La première présentation étais assurée par Sonar, le seul produit open source de la soirée. Son développement est géré par SonarSource, une start-up suisse qui réalise tranquillement les objectifs de son business plan avec un équilibre du chiffre d’affaires entre la vente de plug-in et le développement sur mesure. Son principe est d’intégrer des fonctionnalités externes (PMD, Checkstyle, etc.) ou développées spécifiquement pour Sonar afin de produire un tableau de bord de la qualité des projets.

Ensuite Parasoft a présenté son outil JTest qui offre des fonctionnalités d’analyse statique et dynamique du code. La partie statique s’appuie sur 1100 règles ainsi qu’une simulation de l’exécution du code (data flow analysis). La partie dynamique permet de surveiller l’exécution du code dans la machine virtuelle.

La troisième présentation était celle de XDepend, un outil qui se concentre sur les aspects d’architecture et de design des projets analysés. Un des points forts est la représentation visuelle des différentes composantes du projet avec un poids relatif et sur laquelle on peut ensuite visualiser les différentes analyses, comme la couverture par les tests unitaires par exemple.

Structure 101 et son pendant Restructure 101 sont eux aussi plus centrés sur les aspects architecturaux du projet. La complexité de cette dernière et les dépendances sont analysées pour ensuite fournir des indications sur une restructuration qui améliore la qualité du produit sans forcément en modifier le code.

Enfin avec Coverity Integrity Center on replonge plus dans une analyse classique du code. Le point particulier de la présentation réside dans la capacité de gérer les défauts constatés à travers les différentes branches de configuration qu’un produit peut utiliser lors de son évolution (version actuelle, évolution n, n+1, etc)

Lors de la discussion finale réunissant les 5 éditeurs, les questions des participants ont porté sur les possibilités de configurations spécifiques, de gestion des « faux positifs » et de la localisation de l’analyse (machine du développeur ou serveur commun du projet). A noter que deux sociétés (Kalistick et Squoring) qui n’ont pu être présentes se sont livrées à l’analyse de la même application et devraient mettre à disposition leurs résultats sur le net.

Ressources

* Présentation de Sonar sur Methods & Tools
* Sonar : la chasse aux 7 péchés capitaux peut commencer
* Improving on Unit Tests with Sonar

Autres articles intéressants :

One thought on “Soirée Qualimétrie du Java User Group Lausanne

  1. Nous avons publié le rapport intégral de l’analyse du projet IceScrum sur notre plateforme Cloud. Cela illustre une démarche d’audit d’un projet Java.
    Le détail des résultats est commenté dans un post sur le blog Kalistick.

    http://bit.ly/eB7oRM

    A noter que ce rapport est celui généré automatiquement à l’issue de l’analyse.

    Marc

Les commentaires sont fermés.