Abo
  • Services:
Anzeige
Google hat seine Fehler beim Bauen von Software analysiert.
Google hat seine Fehler beim Bauen von Software analysiert. (Bild: Google)

Google Research: Warum kompiliert das nicht?

Ein Forscherteam hat bei Google mehr als 26 Millionen Software-Builds untersucht. Die gefundenen Fehlerarten sind dabei wenig überraschend. Dass die Fehlerrate nicht mit der Erfahrung der Entwickler korreliert, dagegen schon.

Anzeige

Quellcode schreiben - in Maschinensprache übersetzten - Programm ausführen. Diese optimale Abfolge der Softwareentwicklung wird häufig durch Fehler während des Kompilierens unterbrochen. In Zusammenarbeit mit Forschern der Hong Kong University of Science and Technology und der University of Nebraska hat ein Team von Google die Fehler in über 26 Millionen Softwarebuilds analysiert und kommt dabei zu teils überraschenden Ergebnissen.

So nahmen die Autoren etwa an, dass häufige Builds auch zu mehr Fehlern führten. Diese Hypothese ließ sich aber nicht bestätigen, da keine Korrelation zwischen der Anzahl an Builds und der Fehlerrate eines Entwicklers gefunden werden konnte. Ebenso hat die Erfahrung im Umgang mit den Builds keinen Einfluss auf die Fehlerrate. So ist es egal, ob der Entwickler im Vorzeitraum mehr als 1000 Builds auslöste oder weniger als 200. Das widerspricht klar der Annahme, dass erfahrene Entwickler weniger Fehler verursachten als Unerfahrene.

Fehlerarten sind erwartbar

Als Fehlermeldungen wertete das Team diejenigen aus, die von den Compilern Javac für Java und LLVMs Clang für C++-Code ausgegeben werden. Die mit Abstand meisten Fehler entfallen demnach auf nicht richtig aufgelöste Abhängigkeiten zwischen verschiedenen Klassen und Quelltextdateien. Bei C++ betrifft dies etwa die Hälfte aller aufgetretenen Probleme, bei Java sogar knapp zwei Drittel.

Die zweithäufigste Ursache für Fehler sind nicht übereinstimmende Datentypen. Syntaxfehler in C++-Projekten sind ungefähr doppelt so häufig wie in Java-Code. Der Medianwert für die Fehlerrate aller Builds liegt für C++ bei etwa 38 Prozent, für Java bei etwa 29 Prozent.

Viele allgemeine Annahmen, etwa dass die C++-Syntax schwieriger sei als die von Java, werden durch diese Ergebnisse zumindest für Google bestätigt. Darüber hinaus sind Syntax- und Semantik-Fehler aber eher selten, und das Schwierige an der Entwicklung ist die eigentliche Code-Organisation der Projekte. Die Unterstützung für Letzteres sollte auch vermehrt in die entsprechenden Werkzeuge eingebaut werden, schlussfolgern die Autoren.


eye home zur Startseite
widar23 04. Jul 2014

Was wird unterbunden? Ein Byte-Array zu allozieren und dann zu benutzen, wie ich gerne...

gadthrawn 03. Jul 2014

Eben nicht. Wie du am Beispiel siehst betrifft die Änderung alle persistierbaren...

QDOS 02. Jul 2014

Das kommt darauf an was man machen will. Klar manches aus dem Buch würde man heute...

GodsBoss 02. Jul 2014

Genau deswegen wundere ich mich doch so und habe nachgefragt.

Top-OR 02. Jul 2014

Oh ja cool: so aufn Punkt gebracht habe ich das selten gehört. Stimmt schon...



Anzeige

Stellenmarkt
  1. ALDI SÜD, Mülheim an der Ruhr
  2. W&W Informatik GmbH, Ludwigsburg
  3. Fresenius Netcare GmbH, Bad Homburg
  4. SICK STEGMANN GmbH, Donaueschingen


Anzeige
Blu-ray-Angebote
  1. 299,99€ (Vorbesteller-Preisgarantie)
  2. (u. a. Hobbit Trilogie Blu-ray 43,89€ und Batman Dark Knight Trilogy Blu-ray 17,99€)
  3. (u. a. Resident Evil: Vendetta 14,99€, John Wick: Kapitel 2 9,99€, Fight Club 8,29€ und...

Folgen Sie uns
       


  1. GPD Pocket im Test

    Winziger Laptop für Wenigtipper

  2. Neue WLAN-Treiber

    Intel muss WLAN und AMT-Management gegen Krack patchen

  3. Kabel-Radio

    Sachsen will auch schnelle UKW-Abschaltung im Kabel

  4. To Be Honest

    Facebook kauft Wahrheits-App

  5. Lüfter

    Noctua kann auch in Schwarz

  6. Microsoft

    Supreme Court entscheidet über die Zukunft der Cloud

  7. Windows 10

    Microsoft zeigt Fluent Design im Detailvideo

  8. Bungie

    Letzte Infos vor dem Start der PC-Fassung von Destiny 2

  9. Ubiquiti Amplifi und Unifi

    Erster Consumer-WLAN-Router wird gegen Krack gepatcht

  10. Samyang

    Lichtstarkes Weitwinkelobjektiv für Sonys FE-Kameras



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
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

Arktika 1 im Test: Monster-verseuchte Eiszeitschönheit
Arktika 1 im Test
Monster-verseuchte Eiszeitschönheit
  1. TPCast Oculus Rift erhält Funkmodul
  2. Oculus Go Alleine lauffähiges VR-Headset für 200 US-Dollar vorgestellt
  3. Virtual Reality Update bindet Steam-Rift in Oculus Home ein

Indiegames-Rundschau: Fantastische Fantasy und das Echo der Doppelgänger
Indiegames-Rundschau
Fantastische Fantasy und das Echo der Doppelgänger
  1. Verlag IGN übernimmt Indiegames-Anbieter Humble Bundle
  2. Indiegames-Rundschau Cyberpunk, Knetmännchen und Kampfsportkünstler
  3. Indiegames-Rundschau Fantasysport, Burgbelagerungen und ein amorpher Blob

  1. Re: Im Vergleich zum Fernsehen

    PiranhA | 11:51

  2. Re: Teslas Erfolg

    Trollversteher | 11:51

  3. Sind die Lüfter besonders gut, oder die Firma...

    Bruto | 11:51

  4. Re: Wann Patch für Win + Mac?

    3dgamer | 11:50

  5. Re: Verschiedene Stahlsorten

    ad (Golem.de) | 11:50


  1. 11:59

  2. 11:54

  3. 11:50

  4. 11:41

  5. 11:10

  6. 10:42

  7. 10:39

  8. 10:26


  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