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. Digital Solutions Manager (m/w/d)
    P.E.G. Einkaufs- und Betriebsgenossenschaft eG, München
  2. Support-Specialist (m/w/d)
    Allianz Technology SE, Hamburg
Detailsuche

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.

Golem Akademie
  1. Adobe Photoshop für Social Media Anwendungen: virtueller Zwei-Tage-Workshop
    29./30.06.2022, virtuell
  2. Entwicklung mit Unity auf der Microsoft HoloLens 2 Plattform: virtueller Zwei-Tage-Workshop
    07./08.06.2022, Virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


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.



Aktuell auf der Startseite von Golem.de
Cariad
Aufsichtsrat greift bei VWs Softwareentwicklung durch

Die Sorge um die Volkswagen-Softwarefirma Cariad hat den Aufsichtsrat veranlasst, ein überarbeitetes Konzept für die ehrgeizigen Pläne vorzulegen.

Cariad: Aufsichtsrat greift bei VWs Softwareentwicklung durch
Artikel
  1. Delfast Top 3.0: Ukrainische Armee setzt E-Motorräder zur Panzerjagd ein
    Delfast Top 3.0
    Ukrainische Armee setzt E-Motorräder zur Panzerjagd ein

    Ukrainische Infanteristen nutzen E-Motorräder, um leise und schnell zum Einsatz zu gelangen und die Panzerabwehrlenkwaffe NLAW zu transportieren.

  2. Überwachung: Polizei setzt Handy-Erkennungskamera gegen Autofahrer ein
    Überwachung
    Polizei setzt Handy-Erkennungskamera gegen Autofahrer ein

    In Rheinland-Pfalz werden Handynutzer am Steuer eines Autos automatisch erkannt. Dazu wird das System Monocam aus den Niederlanden genutzt.

  3. Love, Death + Robots 3: Mal spannend, mal tragisch, mal gelungen, mal nicht so
    Love, Death + Robots 3
    Mal spannend, mal tragisch, mal gelungen, mal nicht so

    Die abwechslungsreichste Science-Fiction-Serie unserer Zeit ist wieder da - mit acht neuen Folgen der von David Fincher produzierten Anthologie-Reihe.
    Von Peter Osteried

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 • Borderlands 3 gratis • CW: Top-Rabatte auf PC-Komponenten • Inno3D RTX 3070 günstig wie nie: 614€ • Ryzen 9 5900X 398€ • Top-Laptops zu Tiefpreisen • Edifier Lautsprecher 129€ • Kingston SSD 2TB günstig wie nie: 129,90€ • Samsung Soundbar + Subwoofer günstig wie nie: 228,52€ [Werbung]
    •  /