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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ä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: 239 Punkte bei 58 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 02/2016: Alt-PCs flott machen

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

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!       

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...
Windows 10 verhindert LINUX
Hans Wendel, 17.11.2015 17:47, 8 Antworten
Hallo alle, mit einem W10-Laptop (vorher war Win7) wollte ich LINUX ausprobieren. Alles, was ni...