lint (программное обеспечение) - lint (software)

редактировать
Программный инструмент, который помечает подозрительные и непереносимые конструкции в исходном коде
lint
Автор (ы) Стивен К. Джонсон
Разработчик (и) ATT Bell Лаборатории
Первый выпуск1978; 42 года назад (1978)
Написано наC
Операционная система Кросс-платформенная
Доступно наанглийском
Тип Инструменты статического анализа программ

lint, или линтер, представляет собой инструмент статического анализа кода, используемый для отметки ошибок программирования, ошибок, стилистических ошибок и подозрительных конструкций. Термин происходит от Unix утилиты, которая исследовала исходный код языка C.

Содержание
  • 1 История
  • 2 Обзор
  • 3 Специализация
    • 3.1 Fortran
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
История

Стивен К. Джонсон, ученый-компьютерщик из Bell Labs, придумал lint в 1978 году во время отладки грамматики yacc, которую он писал для C, и решения проблем переносимости, связанных с переносом Unix на 32-битную машину. Термин «ворс» произошел от названия крошечных кусочков волокна и пуха, сбрасываемых одеждой. В 1979 году lint впервые был использован вне Bell Labs в седьмой версии (V7 ) операционной системы Unix.

За прошедшие годы для многих компиляторов C и C++ были разработаны разные версии lint, и хотя современные компиляторы имеют функции, инструменты, похожие на пух, также расширили свои возможности. Например, Gimpel PC-Lint, используемый для анализа исходного кода C ++, все еще продается, несмотря на то, что он был представлен в 1985 году.

Обзор

Анализ, выполненный lint-подобные инструменты также могут выполняться оптимизирующим компилятором , который нацелен на создание более быстрого кода. В своей оригинальной статье 1978 года Джонсон обратился к этому вопросу, заключив, что «общее понятие наличия двух программ - хорошее», потому что они концентрировались на разных вещах, тем самым позволяя программисту «сосредоточиться на одной стадии процесса программирования исключительно на алгоритмы, структуры данных и правильность программы, а затем модификация с помощью lint желаемых свойств универсальности и переносимости ».

Даже Хотя современные компиляторы эволюционировали и теперь включают в себя многие исторические функции lint, инструменты, подобные lint, также эволюционировали, чтобы обнаруживать еще более широкий спектр подозрительных конструкций. К ним относятся «предупреждения о синтаксических ошибках, использовании необъявленных переменных, вызовах устаревших функций, соглашениях об интервале и форматировании, неправильном использовании области видимости, неявном падении в операторах переключения, отсутствии заголовков лицензий, [ и]... опасные языковые особенности ".

Lint-подобные инструменты особенно полезны для интерпретируемых языков, таких как JavaScript и Python. Поскольку в таких языках отсутствует этап компиляции, который отображает список ошибок перед выполнением, инструменты также могут использоваться как простые отладчики для общих ошибок (например, синтаксических несоответствий), а также в качестве сложных - найти ошибки, такие как heisenbugs (обращая внимание на подозрительный код как на «возможные ошибки»). Lint-подобные инструменты обычно выполняют статический анализ исходного кода.

Lint-подобные инструменты также были разработаны для других аспектов языка, включая грамматику и руководства по стилям.

Специализация

Фортран

Фортран компиляторы, использующие методы сжатия пространства (например, IBM 1130 ) сделали невозможным для компилятора увидеть проблему с:

.... DO 120 J = 1. 256... 120 ПРОДОЛЖИТЬ
(поэтому могут быть полезны такие программы, как Lint для Fortran.
См. Также
Ссылки
Дополнительная литература
Последняя правка сделана 2021-05-27 10:46:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте