Wallenberg Academy Fellows

Matematik, logik och datavetenskap bygger vapen mot buggar

Dagens datorprogram är så komplexa att det är nästan omöjligt att konstruera eller förbättra dem utan att göra några fel. Resultatet blir program som kraschar, eller som inte gör det de ska. Laura Kovács utvecklar metoder som lär datorer att leta upp felen i andra datorer.

Inte nog med att det är svårt, för att inte säga omöjligt, att konstruera och vidareutveckla mjukvara utan att göra fel. Det är dessutom svårt att hitta felen, även när man vet att de finns där. Men 2009 lyckades datavetaren Laura Kovács konstruera en metod som gjorde det lättare, och som i dag används av mer än 1 500 forskare världen över. Hon kallar det ”symboleliminering”.

– En mjukvaras beteende bygger på massor av olika komponenter, men det fel man letar efter innehåller kanske inte alla komponenterna. Symboleliminering handlar om att sålla bort alla delar som fungerar, alla symboler som inte är relevanta. Metoden bevisar matematiskt vilka delar av mjukvaran som fungerar, och ger en matematisk förklaring till varför andra delar inte gör det, säger Laura Kovács.

Finner de nödvändiga egenskaperna i koden

Som Wallenberg Academy Fellow ska hon vidareutveckla metoden, bland annat för att göra det möjligt för programmerare att undvika att införa nya fel när de vidareutvecklar existerande program.

Ett program kan bygga på tusentals rader kod, men med Laura Kovács metoder går det att analysera koden och finna en handfull nödvändiga egenskaper som kan beskrivas matematiskt. Om den nya koden har de egenskaperna, kommer den att fungera. Om den inte har det, är det tänkbart att den ändå fungerar, men det måste kontrolleras.

En del av de här matematiska egenskaperna kan vara sådant som den ursprungliga programmeraren fört in med avsikt. Men inte allt.

– Vi människor är tillräckligt intelligenta för att skriva så stora och komplexa datorprogram att de faktiskt kan få egenskaper som vi inte kan överblicka. Dessutom går ett nytt program vidare till en lång produktionskedja, där oftast bara mycket enkla kriterier förs vidare till nästa programmerare, säger Laura Kovács.

I hennes metoder möts matematik, datavetenskap och logik. Bland annat arbetar hon med det som inom matematiken kallas gruppteori och Fibonaccital.

– Jag konstruerar datorprogram som kan göra egna logiska slutledningar. Många av de problem jag arbetar med kan lösas av matematiker eller logiker, men i verkligheten behöver de lösas av andra människor, med datorstöd.

Akademin driver själv industrisamarbetena

Att Laura Kovács arbete kan bli värdefullt för industrin är uppenbart. Men än så länge handlar det om grundforskning, och hon har själv fått söka upp industriella partners. Hon konstaterar att datavetenskap är ett relativt nytt och dessutom snabbrörligt fält. Ibland är det svårt för industrin att hänga med i utvecklingen. Dessutom kan misstag bli dyrbara för industrin, medan det är en nödvändig del av akademisk forskning att testa teoretiska idéer som kanske inte fungerar.

– Jag skulle verkligen älska om industriella partners började komma till oss. Jag har samarbetat med Intel och Microsoft för att utvärdera små bitar av deras kod som de delat med mig, och med det franska flygbolaget Dassault Aviation kring säkerhetssystemen i flygplan. Det är otroligt intressant att arbeta med riktig kod och se om den fungerar så som programmeraren avsett, säger Laura Kovács.

Hon konstaterar att industrin har börjat bli mer öppen kring sin mjukvaruutveckling, så det ser hoppfullt ut för framtiden.

”Jag är så stolt över att ha blivit utsedd till Wallenberg Academy Fellow, det var inget jag förväntade mig. Jag kom till Sverige och Chalmers 2013, och det här får mig att känna mig som en del av det svenska forskarsamhället. Det kommer att öppna dörrar till samarbeten, både inom akademin och industrin.”

Ansvarsfullt att leda yngre forskare

Redan i skolan tyckte Laura Kovács om matematik, men hon gillade också historia, litteratur och mycket annat. Det var svårt att välja. Till slut blev det studier i matematik och datavetenskap. Hon fascinerades av mängden olösta frågor, vilket ledde henne in på en bana som forskare. Drygt ett decennium senare är många av frågorna lösta – men lika många nya har tillkommit.

– Det är något jag tycker om med att vara forskare. Du är din egen chef, och får ständigt nya utmaningar.

Laura Kovács föddes som del av den ungerska befolkningen i Rumänien, och växte upp i rumänska Timisoara där hon också började sin utbildning. Hon har forskat vid flera lärosäten i Österrike, Schweiz och Japan. Men att få en fast anställning inom akademin är svårt, konstaterar hon. Hon blev glad för erbjudandet om en docentur vid Chalmers.

– Forskargruppen här är väldigt bra, och jag kände att min kompetens passade in bra och att jag kunde lära mig mycket från avdelningen. Dessutom är det ovanligt att ha stark akademisk och industriell forskning på samma plats, men det finns här i Göteborg.

Laura Kovács tycker om samarbeten, att lyssna på andra forskare och försöka hitta lösningar på deras problem.

– Men att handleda yngre forskare tycker jag är utmanande. Jag känner mig själv ung fortfarande, som att mina idéer är i ett tidigt stadium. Då är det svårt att delegera dem till forskarstudenter, när jag inte känner mig säker på att de kan få tydliga resultat och svar. Tänk om de kör fast? Då måste man hitta en annan riktning tillsammans. Det är ett stort ansvar.

Text Lisa Kirsebom
Bild Magnus Bergström