- L'élaboration de modèles évolués d'évaluation, de visualisation et d'interprétation des résultats issus des outils de mesure ;
- Le développement d'une plate-forme logicielle mettant en œuvre les modèles ci-dessus et permettant ainsi de contrôler la qualité de son code.
- Faire l'analyse d'applications Java/J2EE en utilisant les outils libres (re)connus tels que Checkstyle, PMD, JDepend et autres ;
- Faire l'analyse d'applications C/C++ et Cobol en utilisant un connecteur vers les outils commerciaux McCabe et RSM.
- Un Tomcat embarqué ;
- Une base de donnée embarquée (HSQL DB) ;
- Des outils d'analyses libres pour Java pré-installés ;
- Un modèle qualité de base à trois niveaux (facteurs, critères et pratiques qualité).
Les prochaines versions de Squale s'orienteront, entre autres, vers :
- La prise en charge d'autres langages (notamment PHP) via l'ajout de nouveaux connecteurs pour les outils d'analyse de ce langage ;
- L'amélioration de l'interface via des visualisations avancées (au delà de simples répartitions ou diagrammes radars) ;
- La proposition de plans d'action plus évolués.
1. L'élaboration de modèles qualité évolués
Inspirés de normes existantes (comme ISO 9126) et validés par des chercheurs de l'INRIA et de Paris 8, ces livrables sont sous licence CC by-nc-sa 3.0. Les travaux portent sur les modèles de qualité ainsi que sur les modèles technico-économiques ayant pour but de mettre en relation la qualité d'une application avec son coût de développement et de maintenance.
Pour le moment, les documents suivants sont disponibles :
- Recensement et analyses de métriques pertinentes pour l'analyse qualité ;
- Étude sur les représentations graphiques de résultats détaillés et agrégés ;
- Pistes de refactorisation.
Cette plate-forme permet :
- D'analyser des applications multi-langages (actuellement Java,C/C++ et Cobol). Bien qu'étant développé en Java/XML, Squale est indépendant des langages analysés ;
- D'agréger et de consolider les métriques selon les modèles qualité. Par défaut, des modèles de bases sont fournis, mais il est tout à fait possible de mette en place son propre modèle, Squale embarquant un interpréteur Jython (utilisé pour écrire les grilles qualité) ;
- De restituer une vision de la qualité logicielle adaptée à différents profils, du top-manager au développeur, en passant par le responsable qualité. Il est en effet possible de naviguer via le modèle qualité défini ou de sélectionner le fichier ou la classe sur laquelle on travaille précisément.
Au niveau architecture, la plate-forme logicielle se base sur deux composants principaux (schéma simplifié) :
- Squalix, batch permettant de récupérer le code source via les principaux gestionnaires de version (Il se base sur le module SCM de Maven), passer les outils de production de métriques (JavaNCSS, RSM, CKJM, JDepend, etc.) et d'analyse de règles (Checkstyle, PMD, etc) et de charger le tout en base de données. Squale est d'ailleurs "scalable" et plusieurs instances de Squalix peuvent tourner simultanément sur des sites et des serveurs différents, en remplissant le même référentiel ;
- SqualeWeb, application web permettant de restituer les données et naviguer dans les résultats via le modèle qualité, l'organisation des sources, visualiser l'évolution dans le temps, etc. Il gère aussi plutôt finement les droit utilisateurs, afin d'éviter que tout le monde voit les résultats du petit copain, et il est capable de se brancher sur un annuaire d'entreprise si besoin.
Aller plus loin
- Site officiel de Squale (97 clics)
- Fiche descriptive du projet de recherche Squale (21 clics)
- Page de téléchargement (17 clics)
- Page Maven listant les solutions de management de la qualité (25 clics)
- Groupe Thématique Logiciel Libre du pôle de compétitivité System@tic Paris-Région (31 clics)
# Plugin C
Posté par geos . Évalué à 2.
J'ai besoin d'un outil de vérification de quelques règles sur mon développement et j'aimerai pas réinventer la roue :-)
a votre bon cœur
[^] # Re: Plugin C
Posté par Florent Zara (site web personnel, Mastodon) . Évalué à 2.
En Java, il y a pléthore d'outils libres et librement téléchargeables (Checkstyle, PMD, JavaNCSS, JDepend, etc.) et Squale propose déjà des plugins pour ceux-ci.
En C/C++, à ma connaissance, il n'y a pour le moment que des plugins vers des outils commerciaux (et certainement propriétaires pour la plupart), notamment McCabe, RSM, etc. plugins développés par des entreprises qui ont ces outils. Mais je pense qu'il est tout à fait possible de développer un plugin pour des outils non proprios. Wikipédia en fournit une liste ici : en:List_of_tools_for_static_code_analysis (Pas de page équivalente en français, c'est d'ailleurs ce dernier lien qui répond peut-être le plus à ta question.)
# Présentation de Squale et autres outils au JUG
Posté par Florent Zara (site web personnel, Mastodon) . Évalué à 2.
Un compte-rendu est disponible sur le blog du touilleur express:
http://www.touilleur-express.fr/2009/09/18/compte-rendu-de-l(...)
La présentation de Squale est disponible sur slideshare.net : http://www.slideshare.net/bellingard/20090915-squale-au-pari(...) (Flash Inside)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.