Conseils


Ce document donne des conseils pour implémenter un analyseur.

Généralités

  • Analyse tous les fichiers soumis, à l'exception des fichiers tests/invalidator/editor/example/exemplar
  • Ne vise pas une exactitude de 100 %, ce qui sera quasiment impossible à atteindre. Ce n'est pas grave si l'analyseur ne parvient pas à trouver tous les problèmes ou à déduire certaines étiquettes.

Compilation

Si ton langage nécessite une étape de compilation, prends en compte ces points :

  • Compiler la solution permet généralement une meilleure fidélité. Par exemple, le type définitif d'une valeur n'est connu qu'après la compilation. Garde toutefois à l'esprit les compromis (par exemple une exécution plus lente et une consommation de mémoire plus élevée).
  • Envisage une compilation en mémoire (si possible), pour améliorer les performances.

Tests

  • Prévois une suite de tests complète
  • Utilise des golden tests pour vérifier le comportement de l'analyseur. Ces tests doivent utiliser l'image Docker qui sera déployée pour vérifier l'analyseur.
  • Envisage d'avoir des tests pour chaque approche. Tu veux que l'analyseur fonctionne bien pour ces solutions, et cela aidera à attribuer des étiquettes aux approches par la suite.