Studie: Open Source bietet bessere Code-Qualität

Reasoning untersucht TCP/IP in Linux und kommerziellen Betriebssystemen

Verfechter von Open-Source-Software bemühen oft das Argument, offene Software weise eine höhere Code-Qualität auf. Reasoning, Anbieter von automatisierten Software-Inspektions-Services, versuchte nun diese Behauptung anhand der TCP/IP-Implementierung von Linux im Vergleich zu fünf kommerziellen TCP/IP-Implementierungen zu überprüfen.

Artikel veröffentlicht am ,

Um einen fairen Vergleich ziehen zu können, beschränkte man sich bei diesem Vergleich auf die Implementierung gleicher Funktionalität, in diesem Fall TCP/IP, da Reasoning bereits zuvor einige kommerzielle TCP/IP-Implementierungen überprüft hat, einem der bekanntesten und am häufigsten implementierten Protokolle.

Stellenmarkt
  1. Business Analyst*in (m/w/d) SAP CO
    Stadtwerke München GmbH, München
  2. IT-Projektleiter SAP Supply Chain Management S / 4HANA (m/w/x)
    ALDI International Services GmbH & Co. oHG, Mülheim an der Ruhr
Detailsuche

Für Linux trat dabei der TCP/IP-Code des Kernels 2.4.19 an, während Reasoning mit Rücksicht auf seine Kunden zu den kommerziellen Implementierungen nur vage Angaben macht. So sind drei der kommerziellen Implementierungen Teil kommerzieller Mehrzweck-Betriebssysteme und über zehn Jahre alt, zwei davon Unix-Varianten. Die anderen beiden kommerziellen Implementierungen werden in speziellen Kommunikationsgeräten eingesetzt, wobei eines mit vier Jahren recht jung, das andere aber auch über zehn Jahre alt ist.

In der TCP/IP-Implementierung von Linux fand Reasoning in 81.852 Code-Zeilen (ohne Leerzeilen, Kommentare und Header-Dateien) acht Fehler: Je eine nicht initialisierte Variable und ein Memory Leak sowie je drei NULL-Pointer-Dereferenzen und Out-of-Bounds-Array-Zugriffe. Dies entspricht 0,1 Fehlern pro 1.000 Codezeilen.

Damit liegt die TCP/IP-Implementierung im oberen Drittel des von Reasoning ermittelten Industriedurchschnitts, der auf 160 untersuchten Projekten mit zusammen 22 Millionen Code-Zeilen basiert. 33 Prozent der untersuchten Projekte haben eine Fehlerrate von unter 0,15 Fehlern pro 1.000 Code-Zeilen, 33 Prozent zwischen 0,15 und 0,35 und das letzte Drittel drüber.

Bei dem in der Linux-Implementierung gefundenen Memory Leak handelte es sich um einen echten Fehler, der in Linux 2.4.20 beseitigt ist. Die Out-of-Bounds-Array-Zugriffe hingegen sind nach Meinung der Linux-Entwickler keine echten Fehler, da der Kernel in diesem Fall gar nicht funktionieren würde. Auch bei der nicht initialisierten Variable handelt es sich um keinen wirklichen Fehler, ist diese doch Teil eines kleinen Interpreters und repräsentiert Variablen in der Interpreter-Sprache. Lediglich zu den drei NULL-Pointer-Dereferenzen liegen Reasoning bislang keine Angaben vor. Von den acht gefundenen Fehlern ist demnach einer echt aber beseitigt, vier keine Fehler und bei dreien sind noch Fragen offen.

Im Gegensatz dazu weisen die kommerziellen Implementierungen deutlich höhere Fehlerraten auf. Lediglich eine der beiden Embedded-Implementierungen liegt mit fünf Fehlern bei 64.800 Code-Zeilen besser. Die anderen enthalten zwischen 27 und 183 Fehler in 64.300 bis 269.100 Code-Zeilen. Die Fehlerraten liegen demnach von einer Ausnahme abgesehen zwischen 0,32 und 0,68 Fehlern pro 1.000 Code-Zeilen.

Aber auch die Rate der beseitigen Fehler liegt bei Linux mit 0,013 deutlich am niedrigsten. Vor dem Hintergrund, dass Entwickler selbst am besten wissen, welche der gefundenen Fehler zu beseitigen sind, wertet Reasoning dies ebenfalls als positiv für den Open-Source-Verteter. Bei den kommerziellen Vertretern lag die Korrekturquote zwischen 0,08 und 0,58 Fehlern pro 1.000 Code-Zeilen.

So kommt Reasoning zu dem Schluss, dass die Open-Source-Implementierung des TCP/IP-Protokolls im Linux-Kernel eine klar bessere Code-Qualität besitzt als die kommerziellen Implementierungen von TCP/IP im Mehrzweck-Betriebssystem.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Akkutechnik
CATL stellt erste Natrium-Ionen-Akkus für Autos vor

160 Wh pro Kilogramm. 80 Prozent Akkuladung in 15 Minuten. 90 Prozent Kapazität bei minus 20 Grad Celsius. CATL startet eine neue Ära der Akku-Technik.
Eine Analyse von Frank Wunderlich-Pfeiffer

Akkutechnik: CATL stellt erste Natrium-Ionen-Akkus für Autos vor
Artikel
  1. RDNA2-Grafikkarte: AMD bringt Radeon RX 6600 XT für 400 Euro
    RDNA2-Grafikkarte
    AMD bringt Radeon RX 6600 XT für 400 Euro

    Die bisher günstigste RDNA2-Grafikkarte ist für 1080p-Gaming ausgelegt und soll die Geforce RTX 3060 problemlos überholen.

  2. Erneuerbare Energien: Größte Gezeitenturbine geht vor Schottland in Betrieb
    Erneuerbare Energien
    Größte Gezeitenturbine geht vor Schottland in Betrieb

    Die Meere bieten viel Energie, die sich in elektrischen Strom wandeln lässt. In Schottland ist gerade ein neues Gezeitenkraftwerk ans Netz gegangen.

  3. Verschlüsselung: Windows-Verschlüsselung Bitlocker trotz TPM-Schutz umgangen
    Verschlüsselung
    Windows-Verschlüsselung Bitlocker trotz TPM-Schutz umgangen

    Eine mit Bitlocker verschlüsselte SSD mit TPM-Schutz lässt sich relativ einfach knacken. Ein Passwort schützt, ist aber nicht der Standard.

peter5 02. Jul 2007

peter5 02. Jul 2007

firdancer 29. Mär 2005

Schmarrn. Die Frage war nicht "was ist das erfolgreichere System?" sondern "was ist das...

Ron Sommer 19. Feb 2003

Schon klar. Ich wollte nur deutlich machen: Dass Open Source Code *qualitativ* besser...

Flo 19. Feb 2003

naja ist die frage ob man die Qualität des Produktes oder die des Source-Codes meint...



Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Bosch Professional günstiger • Asus TUF Gaming 23,8" FHD 144Hz 169€ • Acer-Chromebooks zu Bestpreisen (u. a. 14" 64GB 229€) • Alternate (u. a. Deepcool-Gehäuselüfter ab 24,99€) • EA-Spiele (PC) günstiger (u. a. Battlefield 5 5,99€) • Philips-Fernseher 65" Ambilight 679€ [Werbung]
    •  /