- Sonar (informatique)
-
Sonar (Qualité logicielle)
Sonar (Qualité logicielle) Tableau de bord SonarEnvironnement Multi-plateforme Langue anglais Type Analyse de code source Licence GNU LGPL Site Web sonar.codehaus.org
www.sonarsource.com.Sonar est un logiciel open source permettant de mesurer la qualité du code source sur les projets de développement java. Sonar est distribué selon les termes de la licence LGPL v3.
Le code source est analysé suivant 6 axes :
- identification des duplications,
- mesure du niveau de documentation,
- respect des règles de programmation,
- détection des bugs potentiels,
- évaluation de la couverture de code par les tests unitaires
- et analyse de la répartition de la complexité.
L'ensemble de ces métriques qualité permettent d'évaluer rapidement la dette technique (en) de chaque projet. Une interface Web permet à la fois d'administrer l'outil (exclusion de code source, activation des profils qualité, définition des seuils d'alertes, ...) et de consulter les résultats en croisant les indicateurs et en offrant plusieurs modes de restitution (clouds, treemap, hotspots, timemachine, ...).
Sommaire
Principe de fonctionnement
Sonar s'appuie sur 3 composants : un plugin maven en charge de l'analyse du code source, une base de données dans laquelle sont stockés l'ensemble des résultats des analyses et un site web pour la partie reporting et pilotage.
Cette architecture permet d'utiliser Sonar pour des audits de code ponctuels, mais également dans le cadre d'une démarche d'amélioration continue. L'utilisation d'un plugin maven pour la partie collecte de données permet en effet d'utiliser tous les moteurs d' intégration continue pour automatiser le lancement des analyses.Open Source
De nombreuses briques open source existent qui permettent d'analyser le code source Java mais chacune d'entre elles requiert un effort de configuration. Sonar intègre la plupart de ces briques tout en réduisant le coût de mise en oeuvre et en permettant de croiser les résultats. Sonar s'appuie notamment sur :
- Duplication de code : CPD - PMD
- Test unitaires et couverture de code : Cobertura, Clover, Emma, JUnit, Surefire
- Règles de programmation : Checkstyle, PMD
- Bugs potentiels : FindBugs (en)
Concernant le niveau de documentation et les métriques standards comme la complexité et le nombre de lignes de code, Sonar utilise son propre moteur d'analyse.
Extensibilité
Sonar a été développé en s'appuyant sur un cœur extensible. Cela signifie qu'il est possible pour qui le souhaite d'étendre ce cœur afin d'augmenter les fonctionnalités (ajout d'un nouveau langage, calcule d'une nouvelle métrique, ajout de règles de programmation...). Le portail des plugins Sonar permet d'accéder à la liste des extensions existantes.
Liens externes
Autres outils open source
- Portail de l’informatique
- Portail des logiciels libres
Catégories : Outil libre de développement logiciel | Méthode formelle
Wikimedia Foundation. 2010.