Noch nicht registriert ? Erstellen Sie eine Overblog !

Mein Blog erstellen

Wie arbeitet ein "Code Analyzer"?

Jeder der programmiert, kennt das Problem. Man ist fertig und möchte das Programm kompilieren. Doch immer wieder bricht der Vorgang ab. Irgendwo in den tausenden Zeilen von Code hat sich ein Fehler versteckt, der erst mühsam herausgefunden werden muss. Unterstützung erhält man durch Code Analyzer.

Was ist Code-Analyse

Programmierer müssen bei ihrer Arbeit vor allem darauf achten, dass der Quelltext keine Fehler enthält. Ansonsten funktioniert das Programm später nicht wie es soll oder kann erst gar nicht kompiliert werden. Gerade komplexe Sprachen wie der C# Source Code sind nicht auf den ersten Blick zu verstehen. Muss man nun jede Zeile einzeln nach dem Fehler absuchen, hat man eine Mammutaufgabe vor sich, die schnell zu einer Suche nach der Nadel im Heuhaufen mutiert. Durch Code Analyse kann man sich aber in vielen Fällen diese Arbeit sparen und sie durch eines der Analyse Tools erledigen lassen. Aber prüft den nicht auch der Compiler nach Fehlern im Quellcode, könnte man meinen.
Doch, auch dieser nimmt einer Fehlersuche vor. Allerdings beschränkt sich diese Prüfung auf einfache Analysen. Mit dem Softwaretestverfahren einer statischen Analyse kann er meist nicht mithalten.

Worauf wird der Quelltext getestet

Durch den Code Analyzer wird der Quelltext auf ganz bestimmte Sorten von Fehlern untersucht, noch bevor eine Kompilierung statt findet. Es handelt sich also um ein so genanntes White-Box-Testverfahren, da ein Blick in den Quelltext erforderlich ist und nicht nur rein funktionale Test durchgeführt werden.
Im Rahmen der Static Analysis werden sowohl simple Coding-Standards geprüft, aber auch Typumwandlungen oder Bereichsgrenzen. Damit entfällt das manuelle Überprüfen des Quelltexts durch einen Entwickler, da viele Fehler im Inhalt so durch die Software automatisch aufgedeckt werden. Das erleichtert die Arbeit und natürlich den Zeitbedarf für ein Projekt enorm. Auch dient es der Sicherheit, da so Speicherlecks und Pufferüberläufe besser aufgespürt werden können. Ein einfaches Beispiel: Schlampigkeitsfehlern beim Programmieren decken diese Werkzeuge schonungslos auf, während der Compiler nur eine Warnung ausgibt.

Der Klassiker: Lint

Ein Klassiker zur statischen Quelltextanalyse ist das Programm Lint. Bereits seit 1979 ist es auf dem Markt. Damit dürfte es zu den ältersten Softwareprodukten gehören, die immer noch genutzt werden. Auch wenn heute viele Teile der Prüfungen aus Lint in den Compiler eingearbeitet wurden, ist dieses Werkzeug nicht mehr wegzudenken.
Umgangssprachlich verwenden Programmierer daher auch heute noch gerne den Ausdruck "linten", wenn sie eine statische Prüfung des Quelltexts durchführen.

Fazit

Komplexe Programme fordern jede Menge Code-Zeilen. Ohne den Einsatz von Programmen wie Lint bzw. der Umsetzungen im Compiler ist es oft nicht denkbar, einen entsprechend hoch optimierten Code zustande zu bekommen.

Gleiche Kategorie Artikel Computer

Sybase Adaptive Server - Vor und Nachteile der Datenbanklösung

Sybase adaptive server - vor und nachteile der datenbanklösung

Wenn in einem unternehmen viele datensätze von mehreren arbeitsstationen aus angesprochen werden müssen, bietet sich die implementierung eines leistungsfähigen datenbanksystems an. die firma sybase ist im bereich der adaptiven server seit jahren marktführer. hier können die vor- und nachteile der datenbanklösung des amerikanischen herstellers nachgelesen werden.
Search and Destroy - mächtiges Tool gegen Malware

Search and destroy - mächtiges tool gegen malware

Über eines muss man sich heute als pc-nutzer im klaren sein: das eigene system ist ständig gefahren aus dem internet ausgesetzt. schnell kann man opfer von malware werden und persönliche daten finden sich im netz wieder. mit spybot search and destroy steht allerdings eine passende freeware zur verfügung um die schadsoftware wieder los zu werden.
VPN Verbindung - So richtet man sie unter Windows ein

Vpn verbindung - so richtet man sie unter windows ein

Virtual private network nennt man ein system, bei dem man externe rechner mit einem lokalen netzwerk verbindet und dabei daten verschlüsselt. das dient dazu, autorisierten benutzern den zugang zu einem netzwerk eines unternehmens oder einer institution zu verschaffen. im endeffekt erlaubt es dem nutzer auf lokale daten zuzugreifen oder aus einiger entfernung eine internetverbindung aus dem jeweiligen netz zu bekommen.
Computer Komplettsysteme - Was ist zu beachten?

Computer komplettsysteme - was ist zu beachten?

Wenn ein neuer computer gekauft werden soll, gibt es oft mehrere fragen. welche prozessorleistung, welche grafikkarte und wie viel speicherplatz wird benötigt? dieser artikel soll bei der beantwortung dieser und anderer fragen helfen.