Studie: Apache-Webserver mit durchschnittlicher Code-Qualität

Open-Source-Software ist nicht unbedingt ein Garant für hohe Code-Qualität, finden die Code-Inspekteure bei Reasoning. Die Fehlerdichte sinke aber bei fortschreitender Entwicklung.

In Pocket speichern vorlesen Druckansicht 405 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Oliver Lau

Der Quellcode der Version 2.1 aus dem Entwicklungsast des Open-Source-Webservers aus dem Apache-Projekt hat eine ähnliche Fehlerdichte wie die meisten seiner kommerziellen Brüder. Das behaupten jedenfalls die Code-Inspekteure beim Softwareanalysten Reasoning. In den insgesamt 58.944 Code-Zeilen habe man 31 Mängel entdeckt. Das läuft auf eine Fehlerdichte von rund 0,53 Fehlern pro tausend Zeilen Code hinaus. Vergleichbare kommerzielle Software komme auf eine Fehlerdichte von etwa 0,51.

Im Februar befanden die Analysten bei Reasoning, dass Open-Source-Software hohe Code-Qualität liefere, als sie die Fehlerdichte im TCP/IP-Stack im Linux-Kernel 2.4.19 mit kommerziellen Pendants verglichen. Im Linux-Stack fand man 8 Mängel in 81.852 Code-Zeilen -- was einer Dichte von nur rund 0,10 Fehlern pro tausend Zeilen entspricht. So gering war die Fehlerdichte in keiner der anderen fünf geprüften Implementierungen. Britische Wissenschaftler hatten vor wenigen Tagen die Ergebnisse eines Simulationsmodells veröffentlicht, wonach Open-Source-Software zu weniger Fehlern neige und sich schneller einem fehlerfreien Zustand annähere als Closed-Source-Projekte. Dieses Ergebnis stützen letztlich auch die beiden Studien zum TCP/IP-Stack und zum Apache-Webserver, meinen die Spezialisten von Reasoning: Denn zusammen ließen sie den Schluss zu, dass es, wenn Software sich weiterentwickle, einen direkten Zusammenhang gebe zwischen der Code-Überprüfung sowie der Untersuchung durch Fachleute und der Anzahl der Fehler.

Die Analysten bei Reasoning haben ein eigenes, automatisiertes Verfahren entwickelt, um Code auf Fehler hin zu durchsuchen. Damit wollen sie objektive und vergleichbare Erkenntnisse zu jeder untersuchten Software produzieren, und zwar unabhängig von Betriebssystem, Hersteller oder Programmierstil. Bei Reasoning hält man daher die Code-Inspektion für die effektivste Maßnahme, um die Code-Qualität verbessern zu können. (ola)