Go Analysis Framework : analyse statique modulaire
Original : Go Analysis Framework: modular static analysis by go team
Pourquoi c'est important
Ce framework standardise l'analyse statique Go et structure l'écosystème des outils de qualité du code.
L'équipe Go publie la version v0.48.0 du package `golang.org/x/tools/go/analysis`, un framework d'analyse statique modulaire permettant d'inspecter les paquets Go et de signaler des erreurs de code. Il est importé par 6 564 projets au 9 juillet 2026.
Le package `golang.org/x/tools/go/analysis` définit une interface standard entre les outils d'analyse statique modulaire et les programmes pilotes (drivers). Une analyse statique est une fonction qui inspecte un paquet Go, signale des diagnostics (erreurs potentielles dans le code) et peut produire d'autres résultats comme des suggestions de refactorisation.
Le concept de « modularité » est central : un analyseur inspecte un paquet à la fois, mais peut conserver des informations issues de paquets de bas niveau pour les réutiliser lors de l'analyse de paquets de plus haut niveau — à l'image de la compilation séparée. Par exemple, le checker `printf` détecte les erreurs dans les chaînes de format `fmt.Printf` et peut enregistrer le fait qu'une fonction comme `log.Fatalf` délègue à `fmt.Printf`, étendant ainsi la vérification aux appels provenant d'autres paquets.
Ce framework est compatible avec de nombreux outils : `vet`, éditeurs de texte, IDE, systèmes de build (`go build`, Bazel, Buck), frameworks de test et outils de revue de code. Publié sous licence BSD-3-Clause, il importe 9 dépendances et est lui-même importé par 6 564 projets connus.