Abo
  • Services:
Anzeige

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.

Anzeige

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.

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.


eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. Continum AG, Freiburg
  2. Sky Deutschland GmbH, Unterföhring bei München
  3. BVG Berliner Verkehrsbetriebe, Berlin
  4. Landeshauptstadt München, München


Anzeige
Top-Angebote
  1. 39,99€ mit Gutschein VFL6ESJY
  2. 199,90€ + 5,99€ Versand (Vergleichspreis CPU 206,39€)
  3. 189€

Folgen Sie uns
       

  1. Breko

    Waipu TV gibt es jetzt für alle Netzbetreiber

  2. Magento

    Kreditkartendaten von bis zu 40.000 Oneplus-Käufern kopiert

  3. Games

    US-Spielemarkt wächst 2017 zweistellig

  4. Boeing und SpaceX

    ISS bald ohne US-Astronauten?

  5. E-Mail-Konto

    90 Prozent der Gmail-Nutzer nutzen keinen zweiten Faktor

  6. USK

    Nintendo Labo landet fast im Altpapier

  7. ARM-SoC-Hersteller

    Qualcomm darf NXP übernehmen

  8. Windows-API-Nachbau

    Wine 3.0 bringt Direct3D 11 und eine Android-App

  9. Echtzeit-Strategie

    Definitive Edition von Age of Empires hat neuen Termin

  10. Ein Jahr Trump

    Der Cheerleader der deregulierten Wirtschaft



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Netzsperren: Wie Katalonien die spanische Internetzensur austrickste
Netzsperren
Wie Katalonien die spanische Internetzensur austrickste

Spectre und Meltdown: All unsere moderne Technik ist kaputt
Spectre und Meltdown
All unsere moderne Technik ist kaputt
  1. Sicherheitsupdate Microsoft-Compiler baut Schutz gegen Spectre
  2. BeA Noch mehr Sicherheitslücken im Anwaltspostfach
  3. VEP Charter Trump will etwas transparenter mit Sicherheitslücken umgehen

Star Citizen Alpha 3.0 angespielt: Es wird immer schwieriger, sich auszuloggen
Star Citizen Alpha 3.0 angespielt
Es wird immer schwieriger, sich auszuloggen
  1. Cloud Imperium Games Star Citizen bekommt erst Polituren und dann Reparaturen
  2. Star Citizen Reaktionen auf Gameplay und Bildraten von Alpha 3.0
  3. Squadron 42 Mark Hamill fliegt mit 16 GByte RAM und SSD

  1. Re: So ein Müll

    freebyte | 02:16

  2. Re: Wie funktioniert das mit der Anonymität?

    MonMonthma | 02:12

  3. Re: Samsung?

    AFUFO | 02:11

  4. Re: Und trotzdem irgendwie (fast) nur noch Schrott...

    Yash | 02:03

  5. Re: welche notebooknetzteile könnten funktionieren

    CruZer | 01:20


  1. 18:53

  2. 17:28

  3. 16:59

  4. 16:21

  5. 16:02

  6. 15:29

  7. 14:47

  8. 13:05


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel