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. Schaeffler Technologies AG & Co. KG, Nürnberg
  2. E.R. SCHIFFAHRT GmbH & Cie. KG, Hamburg
  3. Robert Bosch GmbH, Leonberg
  4. SYNLAB Holding Deutschland GmbH, Augsburg


Anzeige
Blu-ray-Angebote
  1. 49,99€ mit Vorbesteller-Preisgarantie
  2. 299,99€ (Vorbesteller-Preisgarantie)
  3. 1 Monat für 1€

Folgen Sie uns
       

  1. Mirai-Nachfolger

    Experten warnen vor "Cyber-Hurrican" durch neues Botnetz

  2. Europol

    EU will "Entschlüsselungsplattform" ausbauen

  3. Krack-Angriff

    AVM liefert erste Updates für Repeater und Powerline

  4. Spieleklassiker

    Mafia digital bei GoG erhältlich

  5. Air-Berlin-Insolvenz

    Bundesbeamte müssen videotelefonieren statt zu fliegen

  6. Fraport

    Autonomer Bus im dichten Verkehr auf dem Flughafen

  7. Mixed Reality

    Microsoft verdoppelt Sichtfeld der Hololens

  8. Nvidia

    Shield TV ohne Controller kostet 200 Euro

  9. Die Woche im Video

    Wegen Krack wie auf Crack!

  10. Windows 10

    Fall Creators Update macht Ryzen schneller



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Flettner-Rotoren: Wie Schiffe mit Stahlsegeln Treibstoff sparen
Flettner-Rotoren
Wie Schiffe mit Stahlsegeln Treibstoff sparen
  1. Hyperflight China plant superschnellen Vactrain
  2. Sea Bubbles Tragflächen-Elektroboote kommen nach Paris
  3. Honolulu Strafe für Handynutzung auf der Straße

Cybercrime: Neun Jahre Jagd auf Bayrob
Cybercrime
Neun Jahre Jagd auf Bayrob
  1. Antivirus Symantec will keine Code-Reviews durch Regierungen mehr
  2. Verschlüsselung Google schmeißt Symantec aus Chrome raus
  3. Übernahme Digicert kauft Zertifikatssparte von Symantec

Passwortmanager im Vergleich: Das letzte Passwort, das du dir jemals merken musst
Passwortmanager im Vergleich
Das letzte Passwort, das du dir jemals merken musst
  1. 30.000 US-Dollar Schaden Admin wegen Sabotage nach Kündigung verurteilt
  2. Cyno Sure Prime Passwortcracker nehmen Troy Hunts Hashes auseinander
  3. Passwortmanager Lastpass ab sofort doppelt so teuer

  1. Re: Wo liegt mein Fehler?

    Kangaxx | 06:11

  2. Re: Die Kunden wollen, aber die Anbieter nicht

    Ovaron | 05:25

  3. Wo genau anmelden?

    Bluejanis | 04:25

  4. Re: Das Spiel ist beendet.

    kotap | 02:17

  5. Re: Ich wäre ja mal froh wenn Golem sein...

    Desertdelphin | 00:55


  1. 14:50

  2. 13:27

  3. 11:25

  4. 17:14

  5. 16:25

  6. 15:34

  7. 13:05

  8. 11:59


  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