Lamp-Stack ist besonders zuverlässig

13.03.2006
Projekt untersucht den Quellcode verschiedener Open-Source-Software.

Im Rahmen einer von der US-Regierung finanzierten Unter- suchung haben die Stanford University sowie die Unternehmen Symantec und Coverity die Qualität und Sicherheit von quelloffener Software mit speziellen Tools gemessen. Bei einer ersten Analyse, für die mehr als 17,5 Millionen Zeilen Code durchsucht wurden, erwiesen sich Linux, Apache, MySQL und Perl/PHP/Python (üblicherweise als "Lamp-Stack" bezeichnet) mit durchschnittlich 0,290 Defekten pro tausend Zeilen Code als vergleichsweise stabil und sicher. Bei den anderen 32 Projekten wurden im Schnitt 0,434 Fehler pro tausend Zeilen festgestellt.

"Viele-Augen-Prinzip" funktioniert

Lediglich die Programmiersprache PHP liegt mit einer Fehlerquote von 0,486 über dem Durchschnitt. Die meisten Fehler weist mit 1,204 das Tool "Amanda Backup" auf, die wenigsten hat der Audio-Player "XMMS" mit 0,000. Eine vollständige Übersicht über die tagesaktuelle Bug-Datenbank findet man unter http://scan.coverity.com. Registrierte Projektbetreuer und wichtige Entwickler haben nach der Registrierung zudem Zugriff auf detaillierte Angaben zu den Softwaredefekten.

"Es gibt keine Technik, mit der sich alle Fehler in einer Software aufspüren lassen", erklärt Ben Chelf, CTO von Coverity. "Über eine automatisierte und wiederholbare Analysestruktur haben wir jedoch eine kritische Masse an Daten gesammelt, um zu zeigen, wie sich Softwarequalität konkret beurteilen, vergleichen und letztlich auch verbessern lässt."

"Das Open-Source-Entwicklungsmodell profitiert vom Prinzip der vielen Augen, bei dem der Quellcode ähnlich wie bei einer umfassenden Begutachtung durch Fachleute von vielen Entwicklern geprüft wird", führt Chelf weiter aus. Häufig gehe daraus Code von hoher Qualität hervor - wie beispielsweise beim Lamp-Stack. Ziel der Tätigkeit von Coverity sei es, diesen Begutachtungsprozess bei jedem Softwareprojekt durch Auto- matisierung der Analyse aller Codepfade auf Defekte zu beschleunigen. In Handarbeit bräuchte man dafür allein beim Linux-Kernel mehr als 28 Mannjahre. (mb)