Abo
  • Services:

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.

Artikel veröffentlicht am ,
Google hat seine Fehler beim Bauen von Software analysiert.
Google hat seine Fehler beim Bauen von Software analysiert. (Bild: Google)

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.

Stellenmarkt
  1. ACP IT Solutions AG, Hamburg
  2. Next Level Integration GmbH, Leipzig, Köln, Rostock

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.



Anzeige
Blu-ray-Angebote
  1. 34,99€

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


Folgen Sie uns
       


HTC U12 Life - Hands on (Ifa 2018)

HTC hat mit dem U12 Life ein neues Mittelklasse-Smartphone vorgestellt, das besonders durch die gravierte Glasrückseite auffällt. Golem.de konnte sich das Gerät vor dem Marktstart anschauen.

HTC U12 Life - Hands on (Ifa 2018) Video aufrufen
Red Dead Redemption 2 angespielt: Mit dem Trigger im Wilden Westen eintauchen
Red Dead Redemption 2 angespielt
Mit dem Trigger im Wilden Westen eintauchen

Überfälle und Schießereien, Pferde und Revolver - vor allem aber sehr viel Interaktion: Das Anspielen von Red Dead Redemption 2 hat uns erstaunlich tief in die Westernwelt versetzt. Aber auch bei Grafik und Sound konnte das nächste Programm von Rockstar Games schon Punkte sammeln.
Von Peter Steinlechner

  1. Red Dead Redemption 2 Von Bärten, Pferden und viel zu warmer Kleidung
  2. Rockstar Games Red Dead Online startet im November als Beta
  3. Rockstar Games Neuer Trailer zeigt Gameplay von Red Dead Redemption 2

Fifa 19 und PES 2019 im Test: Knapper Punktsieg für EA Sports
Fifa 19 und PES 2019 im Test
Knapper Punktsieg für EA Sports

Es ist eher eine Glaubens- als eine echte Qualitätsfrage: Fifa 19 oder PES 2019? Golem.de zieht anhand der Versionen für Playstation 4 den Vergleich - und kommt zu einem schwierigen, aber eindeutigen Urteil.
Ein Test von Olaf Bleich und Benedikt Plass-Fleßenkämper

  1. Fifa 19 angespielt Präzisionsschüsse, Zweikämpfe und mehr Taktik
  2. EA Sports Fifa 18 bekommt kostenloses WM-Update
  3. Bestseller Fifa 18 schlägt Call of Duty in Europa

Lenovo Thinkpad T480s im Test: Das trotzdem beste Business-Notebook
Lenovo Thinkpad T480s im Test
Das trotzdem beste Business-Notebook

Mit dem Thinkpad T480s verkauft Lenovo ein exzellentes 14-Zoll-Business-Notebook. Anschlüsse und Eingabegeräte überzeugen uns - leider ist aber die CPU konservativ eingestellt und ein gutes Display kostet extra.
Ein Test von Marc Sauter und Sebastian Grüner

  1. Thinkpad E480/E485 im Test AMD gegen Intel in Lenovos 14-Zoll-Notebook
  2. Lenovo Das Thinkpad P1 ist das X1 Carbon als Workstation
  3. Thinkpad Ultra Docking Station im Test Das USB-Typ-C-Dock mit robuster Mechanik

    •  /