Sonar

Posté par Maxime Lemanissier, le 06/07/2008.

Sonar, l’outil présenté jeudi dernier à Valtech, est un projet Open source de la société Hortis (basée en Suisse), hébergé sur Codehaus.
Sonar est un agrégateur de résultats d’analyse de règles de codage. Il s’interface avec des outils d’analyse de code et de test afin d’agréger leurs résultats, et les consolider afin de, par exemple, faire de l’analyse multi-projets. C’est d’ailleurs dans le cadre d’un parc de projets volumineux que Sonar prend tout son sens, en comparaison avec des outils comme Maven Dashboard.

Dans sa version actuelle, Sonar ne permet de produire des résultats que sur du code Java, du fait des outils d’analyse de code qu’il supporte actuellement : Checkstyle, PMD, Cobertura, JavaNCSS, Surefire, et ChangeLog.
.Net, PHP, Flex devraient également être de la partie prochainement, ainsi qu’un mécanisme générique de points d’extension, permettant à la communauté de développer des connecteurs pour n’importe quel outil, et à Sonar de gérer les parcs de projets aux technologies hétérogènes (comme c’est souvent le cas).
En plus de sa vue tabulaire multi-projets, Sonar possède une représentation graphique des statistiques projets.

L’aire de chaque projet est proportionnelle à son nombre de lignes de code, et sa couleur à la valeur de la statistique sélectionnée : la couverture de code ou le respect des règles de codage. Une seconde représentation est prévue, avec une aire proportionnelle au taux d’activité/changement du projet et une couleur fonction de la tendance des statistiques (amélioration/régression).

Sonar permet de faire du « drill-down » jusqu’à atteindre la ligne de code source qui a provoqué la violation (naviguer en bas de la page et passer la souris sur les lignes de couleur).

Sonar, en agrégeant les statistiques du code, permet de calculer des indicateurs de second niveau, ou indicateurs qualité. Dans la version actuelle, ces indicateurs sont l’efficacité, la maintenabilité, la portabilité, la fiabilité et l’utilisabilité. Il devrait être possible dans une version ultérieure aux équipes d’assurance qualité de définir leurs propres indicateurs et leurs règles de calcul à partir des résultats des règles techniques, afin de pouvoir s’assurer à chaque build de la conformité des projets du SI avec le plan qualité.

De plus, Sonar conserve l’ensemble des résultats précédents afin de pouvoir déterminer les évolutions des indicateurs qualité (parfois plus importantes que les valeurs absolues en elles-mêmes, processus d’amélioration, etc) et des courbes de tendance.

Il est également possible d’ajouter à la main des métriques issues de processus non automatisés ou d’outils non supportés.

Ces différents points font que Sonar, en plus d’intéresser la population technique, pourra également contenter les équipes assurance qualité à la recherche d’un nouveau moyen d’obtenir des indicateurs fréquents sur la qualité des développements, en plus de définir une standardisation applicable en pratique aux projets (les règles de codage, de couverture, de taux de succès/échec), au travers des indicateurs de haut niveau qu’ils peuvent maitriser.
Un projet Sonar de démonstration (Nemo) est hébergé sur http://nemo.sonar.codehaus.org/ et recalculé chaque jour.

Tags: , , ,

Leave a Reply