Open Source und kommerzielle Software liegen qualitativ nahezu gleichauf. So die generelle Aussage von Coverity Anfang Mai 2013. Grundlage war der fünfte „Scan Open Source Report“ des Anbieters von Testsoftware. Doch wie sieht das bei einzelnen Produkten aus – zum Beispiel bei Samba?
Coverity überprüft den Programm-Code von Open-Source-Projekten
(Bild: DOC RABE Media/ Fotolia.com)
Coverity stellt ab sofort monatlich ein im Rahmen der Scan-Studie http://scan.coverity.com/ - für die jüngste Ausgabe wurden 450 Millionen Code-Zeilen ausgewertet – ein analysiertes Open-Source-Projekt genauer vor. Dessen Softwarequalität wird mit den durchschnittlichen Ergebnissen verglichen.
Das erste Projekt, das Coverity unter die Lupe nimmt, ist Samba: Dabei handelt es sich um eine Open-Source-Lösung, mit deren Hilfe Linux- und Windows-Computer über ein Netzwerk miteinander kommunizieren können.
Ursprünglich wurde die Studie Coverity Scan 2006 von dem Hersteller der Testsoftware zusammen mit dem U.S. Department of Homeland Security initiiert, als damals weltweit größtes öffentlich-privatwirtschaftliches Forschungsprojekt. Im Zentrum des Projektes stehen Qualität und Sicherheit von Open-Source-Software. Inzwischen betreibt Coverity das Projekt alleine.
Defektrate von 0,59
Ansonsten unterstützt Coverity, ein Unternehmen im Privatbesitz mit Hauptsitz in San Francisco, Open-Source-Entwickler dabei, die Development-Testing-Technologie in ihren Entwicklungsprozess zu implementieren, um die Qualität ihrer Software zu steigern – während der Entwicklung, um Sourcecode damit auf Defekte zu überprüfen, die zu Abstürzen, unerwartetem Verhalten, Sicherheitslücken oder Totalausfällen führen können. Über 1100 Kunden bauen auf die Coverity-
Übersicht über die für Samba typischen Fehler, die von Coverity gefunden wurden.
(Bild: Coverity)
Samba macht das Server-Message-Block-Protokoll (SMB) für Unix-Systeme verfügbar. (siehe auch: Wikipedia zu Samba ) Mit Hilfe des Kommunikationsprotokolls ermöglicht Samba Windows-Systemen den Zugriff auf Ressourcen von Unix-basierten Systemen und umgekehrt.
Um es kurz zu fassen: Das Code-Volumen von Samba hat sich in den letzten sieben Jahren verdreifacht. Dennoch ist das Qualitätsniveau nach wie vor sehr hoch. Laut Scan Report 2012 betrug die durchschnittliche Defektrate für Projekte vergleichbarer Größenordnung mit mehr als einer Million Code-Zeilen 0,75 Fehler je 1.000 Zeilen Programm-Code. Für die Samba-Software beläuft sich die Defektrate nur auf einen Wert von 0,59.
Typische Programmierfehler
Coverity hat Samba seit 2006 beziehungsweise seit der Version 3.0.2 auf dem Schirm. Damals wurden lediglich 216 Fehler gefunden. Die Software hat seither etwa 50 wichtige und weniger bedeutsame Releases erfahren und Coverity Scan 2.510 Defekte, von denen 1.940 ausgebügelt wurden.
Zu den häufigsten Fehlern gehören so genannte Ressource-Leaks; er läuft etwas falsch in der Zuweisung und Freigabe von Ressourcen. Das Bild verweist auf einen Fehler im open_udp_socket(); Das Problem: der Socket wurde nicht geschlossen, wenn die Socket-Familie dem Programm unbekannt war.
(Bild: Coverity)
Typisch für Samba (siehe: Abbildung) sind „Ressource Leaks“. Diese treten in Erscheinung wenn ein Programm die Ressourcen, die angefordert wurden, nicht freigibt, zum Beispiel wenn eine Datei, die geschlossen werden soll offen bleibt oder allokierter Speicher reserviert bleibt, obwohl das Programm diesen nicht länger benötigt.
Diese Art von Fehlern können schwerwiegende Folgen haben, von Einschränkungen in der Performance bis zu Ausfällen, die sogar die Maschinen außer Gefacht setzen können. Laut Coverity machen solche Fehler im Programm-Code rund ein Drittel der gefundenen Probleme aus. 2012 haben Samba-Programmierer 168 Ressource Leaks behoben.
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.