Lint (Programmierwerkzeug)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Lint (englisch für Fussel) ist ein Computerprogramm zur statischen Code-Analyse der Quelltexte von Computerprogrammen. Das Verb linten (englisch to lint) für das Durchführen der statischen Code-Analyse hat sich davon unabhängig als allgemeine Bezeichnung etabliert.

Geschichte[Bearbeiten]

Lint war das erste einer ganzen Reihe von Werkzeugen zur statischen Code-Analyse von Quelltext von Computerprogrammen. Sein hauptsächlicher Verwendungszweck war es, die Schwächen der damals existierenden Compiler auszugleichen. Diese setzten über weite Strecken richtigen Quellcode voraus und führten nur rudimentäre Prüfungen durch. Neben dem Aufspüren von gefährlichen Konstrukten, wie nicht initialisierten Variablen, legte Lint auch großes Gewicht auf die Überprüfung eines einheitlichen Layouts des Quelltextes und auf das Erkennen nicht portabler Konstrukte, wie etwa Abhängigkeiten vom Betriebssystem oder vom Compiler.

Ursprünglich von den Bell Labs für die Programmiersprache C entwickelt, wurde Lint 1979 mit der siebten Version (V7) des Betriebssystems Unix als Teil des PCC genannten, portablen C-Compilers veröffentlicht. Dies war der zweite Compiler für dieses System nach dem PDP-11-Compiler. Die Unterschiede zwischen System V und BSD sind bei Lint besonders deutlich.[1]

Bereits 1985 wurde eine Portierung von Lint auch für den Einsatz am PC angeboten und seit damals als Softwareprodukt beworben.[2]

Entwicklung[Bearbeiten]

Viele der Prüfungen, die Lint durchführte, sind durch die Fortschritte im Compilerbau in die heutigen Compiler eingeflossen. Diese erzeugen nun hochgradig optimierten Code, wobei sie auch wesentlich weitreichendere statische Analysen vornehmen müssen.

Manche Überprüfungen sind hinfällig geworden, weil durch bessere Standardisierungen der Programmiersprachen gewisse Portabilitätsprobleme nicht mehr existieren. Durch die Verwendung moderner Entwicklungsumgebungen und kontextsensitiver Texteditoren mit Syntaxhervorhebung und automatischer Einrückung hat sich auch das Formatierungsproblem etwas entspannt.

Mit dem Entstehen und der Verbreitung von C++ wurde versucht, Lint um Prüfungen speziell für die neuen Sprachkonstrukte zu erweitern. Das Alleinstellungsmerkmal der ersten Jahre hat Lint aber verloren. Auf dem Markt wird heute eine Reihe von teilweise weit ausgefeilteren Werkzeugen für die statische Code-Analyse angeboten. Unabhängig davon eignet sich Lint aufgrund seiner geringen Größe, hohen Stabilität, weiten Konfigurierbarkeit und plattformübergreifenden Verfügbarkeit besonders auch für verteilte Projekte. Dabei wird Quellcode von unterschiedlichen Entwicklern beigesteuert, der aber dennoch einheitlichen Qualitätskriterien genügen soll. Nur so können automatisiert Erstellungsläufe ausgeführt oder eine Dokumentation erstellt werden.

Bezeichnung[Bearbeiten]

Der Name Lint leitet sich von der englischen Bezeichnung für unerwünschte Anteile an Fasern und Flaum in Schafwolle ab.

Abgeleitete Namensverwendungen[Bearbeiten]

  • In den Android Development Tools (Entwicklungswerkzeug für Googles Betriebssystem Android) wurde im November 2011 ein Lint-Feature hinzugefügt,[3] das den Code auf mögliche Schwachstellen prüft und diese dem Entwickler mitteilt.[4]
  • Splint, ein Quellcodeanalyse-Tool.

Einzelnachweise[Bearbeiten]

  1.  Helmut Weber: Praktische Systemprogrammierung. Vieweg Verlag, 1998, ISBN 3-528-05658-4, S. 61 (online bei Google, abgerufen am 14. Juli 2013).
  2. http://www.gimpel.com/
  3. http://tools.android.com/recent/lint
  4. http://tools.android.com/tips/lint

Literatur[Bearbeiten]

  • Stephen Johnson: Lint, a C program checker. Computer Science Technical Report 65, Bell Laboratories, Dezember 1977.
  • Ian F. Darwin: Checking C Programs with Lint. ISBN 0-937175-30-7

Weblinks[Bearbeiten]