Technische Hintergründe Ein Flüchtigkeitsfehler? So kam es zur Datenpanne beim Bund
Ein Fehler im Programmcode führte zu den falschen Wahlergebnissen beim Bundesamt für Statistik. Wie genau ist er zustande gekommen? Die Antworten.
Eine Wahlurne aus dem Kanton Appenzell Innerrhoden: Die Resultate aus diesem Kanton hat der Bund fehlerhaft in die nationale Wahlstatistik eingerechnet.
Foto: Keystone
Bei Wahlen und Abstimmungen übermitteln die Kantone ihre Ergebnisse an das Bundesamt für Statistik (BFS). Dort werden die Resultate aggregiert – und der Bund publiziert darauf basierend die nationale Wahlstatistik.
Dieser Austausch der Daten läuft über die Sedex-Plattform vom Bund. Sedex steht für secure data exchange, also sicheren Datenaustausch. Alle Kantone nutzen diese Plattform. 23 von 26 Kantonen haben diesen Austausch automatisiert und vereinheitlicht. Sie schicken die Daten über eine Schnittstelle an Sedex. Anders die Kantone Glarus sowie die beiden Appenzell: Sie sendeten Excel-Dateien mit ihren Resultaten an die Plattform. Was an sich kein Problem ist.
Laut Bundesamt der «Standardprozess»
Damit das BFS die Resultate auswerten und die nationalen Wahlresultate ausrechnen kann, müssen alle Daten von Sedex in die bundeseigene Wahldatenbank importiert werden. Für das BFS «ein Standardprozess», wie Madeleine Schneider nach der Medienkonferenz in einem Telefongespräch sagte. Schneider ist als BFS-Sektionsleiterin unter anderem zuständig für die Wahlen.
In diesem Schritt werden die Daten mithilfe eines kleinen Programms, eines Skripts, aus Sedex geholt, automatisiert auf Plausibilität geprüft und in die Datenbank geschrieben. Das Skript besteht aus zwei Teilen. Aus einer Anweisung für den Import der Daten, die über die Schnittstelle übermittelt wurden, und aus einer Anweisung für den Import der drei Excel-Sheets. Und hier passierte der folgenreiche Fehler.
Bei grösseren Datenmengen aus Bern oder Zürich wäre der Fehler wohl aufgefallen.
Die Art des Fehlers – die Resultate der drei Kantone wurden drei-, vier- und fünfmal gezählt – deutet darauf hin, dass beim Programmieren des Skripts ein Multiplikator in einer Schleife versehentlich hochgezählt wurde. Falls das stimmt, wäre das ein Flüchtigkeitsfehler, der beim Testen hätte ausgemerzt werden können. BFS-Kommunikationschef Urs Frei sagte dazu nur: «Wir können nicht sagen, ob es ein Flüchtigkeitsfehler gewesen ist. Das müssen wir zuerst analysieren.» (Unser Kommentar: Das Debakel muss Folgen haben)
Dass es überhaupt so weit gekommen ist, hängt mit einem Automatisierungsschritt zusammen. Vor vier Jahren tippten die Leute beim BFS die Resultate aus Glarus und den beiden Appenzell teilweise noch von Hand ein. Diese Prozesse habe man schneller machen wollen, sagte Sektionschefin Schneider. Deshalb das neue Skript.
An sich sei es eine «übersichtliche Datenmenge» bei den drei kleinen Kantonen, sagte Schneider. «Aber da alles automatisiert abläuft, haben wir den Fehler nicht entdeckt.» Üblich ist, dass solche neuen Prozesse deshalb eingehend getestet werden. Warum hat man dabei nichts gemerkt? Getestet hat man laut Schneider «zu wenig». Möglich ist, dass die Spezialisten beim Bund einen Test mit ihrer Infrastruktur gemacht haben – und zu plausiblen Ergebnissen gekommen sind. Dies, weil nur drei kleine Kantone mit kleinen Zahlen vom Fehler betroffen waren. Wären grosse Kantone wie Bern oder Zürich betroffen gewesen, wäre der Fehler vermutlich noch vor dem Wahlsonntag aufgefallen.
Fehler gefunden?Jetzt melden.