Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
analyseur_de_code_static [Le 16/11/2009, 21:58] psychederic |
analyseur_de_code_static [Le 11/09/2022, 11:08] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
---- | ---- | ||
- | ====== Les analyseurs de code static ====== | + | ====== Les analyseurs de code statique ====== |
En informatique, la notion d'analyse statique de programmes couvre une variété de méthodes utilisées pour obtenir des informations sur le comportement d'un programme lors de son exécution sans réellement l'exécuter. C'est cette dernière restriction qui distingue l'analyse statique des analyses dynamiques (comme le débogage ou le profiling) qui sont concernés par le suivi de l'exécution du programme. | En informatique, la notion d'analyse statique de programmes couvre une variété de méthodes utilisées pour obtenir des informations sur le comportement d'un programme lors de son exécution sans réellement l'exécuter. C'est cette dernière restriction qui distingue l'analyse statique des analyses dynamiques (comme le débogage ou le profiling) qui sont concernés par le suivi de l'exécution du programme. | ||
Ligne 9: | Ligne 9: | ||
Elle permet l'optimisation du code au niveau de l'exécution, de la mémoire, de sa sécurité. | Elle permet l'optimisation du code au niveau de l'exécution, de la mémoire, de sa sécurité. | ||
+ | |||
+ | =====Solution pour la qualité de développement logiciel ===== | ||
+ | * <del>[[Sonar]]</del> [[SonarQube]] (( https://www.sonarqube.org/ )) | ||
+ | * [[Squale]] ((http://linuxfr.org/2010/05/26/26896.html)) | ||
+ | * [[Squash]] ([[http://www.systematic-paris-region.org/fr/mots-cles/squash|site]]): vise à structurer et industrialiser les activités de tests fonctionnels en proposant une méthodologie outillée libre adaptée à la mise en œuvre d’un centre de service de tests. | ||
===== Par langage ===== | ===== Par langage ===== | ||
==== C / C++ ==== | ==== C / C++ ==== | ||
- | <note>Concurrent majeur propriétaire : [[http://en.wikipedia.org/wiki/PC-Lint|pc-lint]](gimpel),[[http://www.klocwork.com/|Klocwork]], [[http://www.coverity.com/|Coverity]], [[http://www.mathworks.com/products/polyspace/index.html|PolySpace]]</note> | + | <note>Concurrents majeurs propriétaires : [[https://en.wikipedia.org/wiki/PC-Lint|pc-lint]](gimpel),[[http://www.klocwork.com/|Klocwork]], [[http://www.coverity.com/|Coverity]], [[http://www.mathworks.com/products/polyspace/index.html|PolySpace]]</note> |
* [[http://sparse.wiki.kernel.org/index.php/Main_Page|Sparse (utilisé pour le kernel linux)]] ( tourné pour les kernels ) | * [[http://sparse.wiki.kernel.org/index.php/Main_Page|Sparse (utilisé pour le kernel linux)]] ( tourné pour les kernels ) | ||
- | * **[[http://valgrind.org/|Valgrind]]** ( [[http://www.cprogramming.com/debugging/valgrind.html|tutoriel]] ) | + | * **[[https://valgrind.org/|Valgrind]]** ( [[http://www.cprogramming.com/debugging/valgrind.html|tutoriel]] ) |
- | * C++ Check http://sf.net/projects/cppcheck/ | + | * C++ Check http://sf.net/projects/cppcheck/ |
- | * Oink http://www.cubewano.org/oink/ | + | * Oink http://www.cubewano.org/oink/ |
- | * C and C++ Code Counter http://sourceforge.net/projects/cccc/ | + | * C and C++ Code Counter https://sourceforge.net/projects/cccc/ |
- | * Splint (dans les dépots) | + | * Splint (dans les dépôts) |
- | * [[https://wiki.mozilla.org/Static_Analysis|Mozilla's Pork]] | + | * [[https://wiki.mozilla.org/Static_Analysis|Mozilla's Pork]] |
- | * [[https://wiki.mozilla.org/Static_Analysis|Mozilla's Dehydra]] | + | * [[https://wiki.mozilla.org/Static_Analysis|Mozilla's Dehydra]] |
- | * Les options -Weff++ pour GNU g++ | + | * Les options -Weff++ pour GNU g++ |
- | * [[http://smatch.sourceforge.net/|SMATCH]] ( par | + | * [[http://smatch.sourceforge.net/|SMATCH]] |
* [[http://www.spinroot.com/uno/|Uno]] | * [[http://www.spinroot.com/uno/|Uno]] | ||
* [[http://www.domagoj-babic.com/index.php/ResearchProjects/Calysto|Calysto]] | * [[http://www.domagoj-babic.com/index.php/ResearchProjects/Calysto|Calysto]] | ||
Ligne 31: | Ligne 36: | ||
* [[http://code.google.com/p/cppanalyse/|cppanalyse]] | * [[http://code.google.com/p/cppanalyse/|cppanalyse]] | ||
* [[http://google-styleguide.googlecode.com/svn/trunk/cpplint/|Cpplint (google)]] | * [[http://google-styleguide.googlecode.com/svn/trunk/cpplint/|Cpplint (google)]] | ||
- | + | * [[https://sourceforge.net/projects/clint/|Clint]] | |
- | * [[https://sourceforge.net/projects/clint/|Clint]] | + | |
* [[http://mygcc.free.fr/|mygcc]] | * [[http://mygcc.free.fr/|mygcc]] | ||
- | * [[ftp://ftp.sds.lcs.mit.edu/pub/Larch/lclint/|LC-Lint]] | + | * [[ftp://ftp.sds.lcs.mit.edu/pub/Larch/lclint/|LC-Lint]] |
- | Outil de metrique (pas d'analyse) : | + | Outil de métrique (pas d'analyse) : |
* http://www.chris-lott.org/resources/cmetrics/ | * http://www.chris-lott.org/resources/cmetrics/ | ||
Ligne 46: | Ligne 50: | ||
==== PHP ==== | ==== PHP ==== | ||
+ | * [[http://www.smashingmagazine.com/2009/01/20/50-extremely-useful-php-tools/|50 Outils PHP Extrêmement utile]] | ||
+ | |||
====Java ==== | ====Java ==== | ||
Ligne 52: | Ligne 58: | ||
* [[https://sourceforge.net/projects/pmd/|pmd]] | * [[https://sourceforge.net/projects/pmd/|pmd]] | ||
* jlint | * jlint | ||
+ | |||
+ | ====Application web==== | ||
+ | * [[http://seleniumhq.org/|Selenium]] | ||
+ | * XSSer ([[http://xsser.sourceforge.net/|site]]) | ||
===== Liens ===== | ===== Liens ===== | ||
- | * (en) [[http://en.wikipedia.org/wiki/Category:Static_code_analysis|Les analyseurs de code static(wikipedia)]] | + | * (en) [[http://en.wikipedia.org/wiki/Category:Static_code_analysis|Les analyseurs de code static (wikipedia)]] et [[http://en.wikipedia.org/wiki/Dynamic_code_analysis|analyseurs de code dynamique]] |
- | * (fr) [[http://fr.wikipedia.org/wiki/Analyse_statique_de_programmes|Analyse statique de programmes]] | + | * (fr) [[https://fr.wikipedia.org/wiki/Analyse_statique_de_programmes|Analyse statique de programmes]] |
- | * (en) [[http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis|List of tools for static code analysis]] | + | * (en) [[https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis|List of tools for static code analysis]] |
* (en) [[http://www.spinroot.com/static/|Static Source Code Analysis Tools for C]] | * (en) [[http://www.spinroot.com/static/|Static Source Code Analysis Tools for C]] | ||
* (en) [[http://open-tube.com/10-free-tools-for-static-code-analysis/|10+ free tools for static code analysis]] (free = pas forcément open source) | * (en) [[http://open-tube.com/10-free-tools-for-static-code-analysis/|10+ free tools for static code analysis]] (free = pas forcément open source) | ||
- | ---- | + | ---- |
//Contributeurs : [[:utilisateurs:psychederic|Psychederic]].// | //Contributeurs : [[:utilisateurs:psychederic|Psychederic]].// |