Analyse statique
Analyse statique (en anglais static analysis) : examen du texte d'un programme sans l'exécuter, pour y repérer des erreurs probables, des constructions dangereuses ou des écarts de style. ShellCheck le fait pour les scripts shell (variable non protégée, cd non vérifié, bashisme dans un script sh), Ruff pour Python, actionlint pour les workflows GitHub Actions, Hadolint pour les Dockerfile.
Elle trouve en quelques secondes des défauts qu'aucun test n'aurait provoqués, par exemple un nom de fichier contenant une espace, mais ne sait rien de ce que le programme doit faire : elle complète les tests, qui eux exécutent le code, sans les remplacer. En intégration continue, elle sert de garde-fou systématique, avec des exceptions justifiées en commentaire plutôt que des règles désactivées en bloc.
Dans les cours
- Bash pour l'automatisation, leçon 1 : Du terminal au script
- Bash pour l'automatisation, leçon 12 : Déboguer, analyser et tester