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. Leiter*in der IT-Abteilung (m/w/d) Bereich IT-Service-Management
    THOST Projektmanagement GmbH, Pforzheim
  2. IT-Administratoren mit Schwerpunkt Elektronische Akte (w/m/d)
    IT-Systemhaus der Bundesagentur für Arbeit, Nürnberg
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.

Golem Karrierewelt
  1. Angular für Einsteiger: virtueller Zwei-Tage-Workshop
    26./27.09.2022, Virtuell
  2. Kotlin für Java-Entwickler: virtueller Zwei-Tage-Workshop
    13./14.10.2022, Virtuell
Weitere IT-Trainings

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


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...



Aktuell auf der Startseite von Golem.de
Layouten mit LaTex
Setzt du noch oder gestaltest du schon?

LaTex bietet viele Möglichkeiten, Briefe durch Schriftarten, Buchstabenbreiten und spezielle Kopf- und Fußzeilen besonders aussehen zu lassen.
Eine Anleitung von Uwe Ziegenhagen

Layouten mit LaTex: Setzt du noch oder gestaltest du schon?
Artikel
  1. Saudi Aramco legt zu: Apple nicht mehr wertvollstes Unternehmen
    Saudi Aramco legt zu
    Apple nicht mehr wertvollstes Unternehmen

    Der iPhone-Konzern verliert seine Spitzenposition bei der Marktkapitalisierung, Europa fehlt in den Top 10 und SAP fällt aus den Top 100.

  2. Wissenschaft: LHC hat drei neue exotische Teilchen entdeckt
    Wissenschaft
    LHC hat drei neue exotische Teilchen entdeckt

    Der sogenannte Teilchenzoo der Physik ist noch größer geworden. Die Wissenschaft hofft auf Bestätigung der Modelle zu deren internen Aufbau.

  3. Superior Continuous Torque: E-Motor von Mahle für Dauerbetrieb unter Stress
    Superior Continuous Torque
    E-Motor von Mahle für Dauerbetrieb unter Stress

    Mahle hat einen neuen Auto-Elektromotor entwickelt, der unbegrenzt lange unter hoher Last betrieben werden kann. Dies wird durch ein neues Kühlkonzept im Motor erreicht.

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
    Daily Deals • PS5 bestellbar • EVGA RTX 3090 24G günstig wie nie: 1.649€ • MindStar (MSI RTX 3060 429€, MSI Optix 31,5“ WQHD 165Hz 369€) • Samsung QLED 85" günstig wie nie: 1.732,72€ • Alternate (Tower-Gehäuse & CPU-Kühler v. Raijintek) • Der beste 2.000€-Gaming-PC • LG TV 65" 120Hz -56% [Werbung]
    •  /