En dum lille trykfejl

heisenbugs

En skolelærer på en folkeskole i USAs hovedstad Washington er blevet fyret på grund af inkompetence; dette var begrundet i dårlige resultater i elevernes evaluering af undervisningen. Tre andre lærere fik ikke udbetalt en lønbonus på grund af dårlige evalueringer af deres undervisning og 40 andre af deres kolleger fik udleveret forkerte evalueringer. Hele årsagen til denne triste sag er en fejl i den software, der behandler de evalueringsskemaer, som eleverne udfylder.

Dette er en sag, der viser flere alvorlige problemer, og de appellerer til mig både som underviser, som datalog og som fagforeningsmedlem.

Det første problem er den vægt, elevers evalueringer har fået nogle steder i verden. Som min datter, der går i 6. klasse, udbrød, da jeg fortalte hende om denne sag: “Tænk, hvis det ikke var læreren der var noget galt med, men det var en lærer eleverne bare ikke kunne fordrage!”. Der er en del variation i skolelovgivningen rundt om i USA, og i Washington har man indført særligt skrappe evalueringer af lærerne. Selvfølgelig er det nødvendigt at kunne skride ind, hvis en lærer viser sig at være inkompetent, men en afskedigelse bør være sidste udvej. Jeg ville have forventet at skolens ledelse havde søgt at afdække problemet og iværksat en handlingsplan og at fagforeningen kunne have grebet ind, men nej. I USA står lærerfagforeningerne så vidt jeg kan se, ikke særligt stærkt. Det er derudover en ubehagelig form for resultatløn, at bonus er afhængig af elevernes bedømmelse. Hvis jeg var lærer i den pågældende del af USA, ville jeg ende med at føle at jeg var til eksamen hele tiden.

Det andet problem er et problem med dårlig analyse af programmer for fejl. Softwaren er udviklet af Mathematica Policy Research og ifølge Barbara Devaney fra dette firma skyldes fejlen “en meget lille trykfejl” (a very small typo) Trods mere end 40 timers review-møde om programmet og en analyse, hvor uafhængige programmører gennemlæste programkoden linje for linje, blev fejlen først fundet i november 2013.

Jeg har ikke kunnet læse mig til præcis hvad “trykfejlen” var, men artiklen taler om et manglende suffiks. Der er derfor formodentlig tale om at programmet har fået inddata i et forkert filformat.

Det er underligt at programanalyse foretages på denne kluntede måde. Hvis problemet er det, jeg tror det er, kunne det være løst ved at man havde anvendt et typesystem med et stærkere typebegreb, hvor forskellige filformater havde forskellig type. På den måde ville man kunne fange, om der blev udført operationer på filer af fejlagtig type. Og den gennemlæsning af programmet, som skulle foretages, skulle ikke gøres af en nok så dygtig programmør, men af en typetjekker.

Og det tredje problem er selvfølgelig at en softwarefejl har haft konsekvenser for et menneskes arbejdsliv: En lærer har mistet sit arbejde. Meget ofte, når vi taler om korrekthed af software, bruger vi spektakulære eksempler med eksploderende rumraketter, men som sagen fra USA viser, griber software også ind i livet for de mange af os, der ikke er rumrejsende.

Og hvordan endte sagen så? Den lærer, der blev fyret, er ikke blevet genansat, men har fået udbetalt en erstatning. De lærere, der fejlagtigt ikke fik udbetalt bonus, har nu fået den.