Résumé
lint (en lettres minuscules ; de l'anglais lint : « touffe hirsute » ) est une commande UNIX de préprocesseur permettant l’analyse statique de code source en langage C. L'utilitaire lint a été l'un des premiers outils d'analyse statique de code source. Sa création visait à remédier aux faiblesses des compilateurs des années 1970-1980, qui présupposaient que les programmes ne comportaient que des erreurs ponctuelles et n'effectuaient que des vérifications rudimentaires. Outre la traque de certaines fautes récurrentes, comme l’adressage de variables non-initialisées, lint se consacrait pour l’essentiel à la rectification des indentations anarchiques de code source et à la détection de tours stylistiques et de syntaxes non-portables, comme le recours à des particularités du système d'exploitation ou d'un compilateur. Développé à l'origine par les Laboratoires Bell pour le langage C, lint fut incorporé en 1979 à la version 7 (V7) du système d'exploitation Unix comme composant du PCC, le « compilateur C portable. » Ce fut le second compilateur pour système UNIX, après le compilateur du PDP-11. Dès 1985, une version de lint pour PC était disponible et est commercialisée depuis comme un logiciel. lint reste à ce jour l'un des plus vieux outils de développement logiciel encore en usage. Plusieurs des vérifications qu'effectuait lint sont aujourd'hui, compte tenu des progrès dans la génération de code natif, intégrées aux compilateurs (moyennant parfois l'activation d'une option, comme -Wall pour GCC). Ces compilateurs doivent en effet, pour optimiser l'exécutable, effectuer une analyse statique bien plus poussée que leur ancêtre UNIX. Plusieurs vérifications de lint sont désormais inutiles, car la standardisation des différents langages de programmation a beaucoup réduit les problèmes de portabilité. L'utilisation de plates-formes de développement modernes et d’éditeurs de texte contextuels avec analyseur syntaxique et indentation automatique permet par ailleurs de produire d'emblée un code source plus sûr et agréable à relire.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Séances de cours associées (1)
Raisonnement contradictoire: modélisation des menaces et CWEs
Explore la modélisation des menaces, la base de données CWE et les vulnérabilités logicielles telles que OS Injection et Cross-site Scripting.