Fazit

Es empfiehlt sich übrigens nicht, mal eben auf die Schnelle potenzielle "Fehler" in fremden Projekten zu korrigieren. Sonst kann es einem so gehen, wie einigen Entwicklern des Debian-Projekts.

Diese stellten aufgrund einer Prüfung mit Valgrind (einem Programm, das ein Programm in einer Art virtuellen Maschine ausführt und so Fehler sucht) einen "Bug" im OpenSSL-Projekt fest: Das Programm griff auf einen noch nicht initialisierten Speicher zu – flugs kommentierten die Debianer die vermeintlich fehlerhafte Funktion aus.

Allerdings handelte es sich bei dem derart "korrigierten" Code um eine Funktion, die Zufallszahlen erzeugt – der Zugriff auf den nicht initialisierten Speicher sollte unter anderem zufällige Werte auslesen. Durch die "Korrektur" wurden jahrelang nicht zufällige, sondern stattdessen leicht vorhersagbare SSL-Zertifikate generiert – eine kryptographische Katastrophe [11].

Bei der Arbeit am eigenen Code jedoch erleichtern die diversen Lint-Varianten und Codechecker die Fehlersuche in Programmen ganz wesentlich und sorgen zudem dafür, dass grössere Software-Projekte mit mehreren Entwicklern schnell zu einem gemeinsamen Coding-Stil finden. 

Glossar

Statische Quellcodeprüfung

Bei diesem Verfahren wird der Quellcode analysiert, ohne das Programm auszuführen. Es gibt auch Code-Analyzer, die das das Programm in einer Art virtuellen Maschine ausführen und so Fehler suchen (beispielsweise Valgrind).

a.out

Der Standardname des vom C-Compiler erzeugten Programms, wenn Sie nicht über die -o Name etwas Anderes angegeben.

Der Autor

Der Systemadminstrator Wolfgang Dautermann hat neben vielen Linux-Varianten auch schon Unix-Systeme wie Solaris, Irix oder Tru64 gebändigt. Er zählt zu den Organisatoren der Grazer Linuxtage.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare
Weitere interessante Sourcecode-Analyzer.
Wolfgang Dautermann, Sonntag, 14. Juli 2013 10:08:35
Ein/Ausklappen

* http://www.shellcheck.net/ Shellskript-Analyzer
* http://cppcheck.sourceforge.net/ Ein weiterer interessanter C/C++ Checker
* http://www.jslint.com/ Javascript-Checker


Bewertung: 159 Punkte bei 16 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 4 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 0 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...
Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 6 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...
Treiber für Canon Laserbase MF5650
Sven Bremer, 10.02.2015 09:46, 1 Antworten
Hallo ich weiß mittlerweile das Canon nicht der beste Drucker für ein Linux System ist. Trotzd...