Cum Laude voor nieuwe methode om softwarefouten te voorkomen
Promovendus Sung-Shik Jongmans van de Universiteit Leiden en het Centrum Wiskunde & Informatica onderzocht een nieuwe programmeermethode om softwarefouten te voorkomen. Op 3 maart 2016 promoveerde hij cum laude aan de Universiteit Leiden op zijn proefschrift 'Automata-Theoretic Protocol Programming'.
Parallel programmeren
Door de toename van multicore processoren in smartphones, game consoles en andere computers is parallel programmeren steeds belangrijker geworden. Om softwarefouten te voorkomen, moeten gelijktijdige berekeningen altijd precies in de goede volgorde gebeuren en dat is lastig. Bekende programmeertechnieken voor het afdwingen van zulke volgordes, interactieprotocollen, zijn namelijk erg moeilijk te gebruiken.
Nieuwe methode
Promovendus Sung-Shik Jongmans onderzocht een nieuwe programmeermethode om dit te vereenvoudigen.Zijn resultaten zijn interessant voor onderzoekers en software engineers.
De onderzoeker licht toe: 'Parallelle software bestaat conceptueel gezien uit twee onderdelen: uit 'arbeiders' die achter elkaar berekeningen uitvoeren en uit interactieprotocollen, die vastleggen wie wat op welk moment mag doen. Het is belangrijk dat dat helemaal goed gaat. Soms draait parallelle software jarenlang prima maar crasht een systeem na vijf jaar ineens bij een bepaalde volgorde van berekeningen. Je wilt niet dat dit bijvoorbeeld in een vliegtuig kan gebeuren. De programmeermethode die ik heb ontwikkeld maakt het eenvoudiger voor programmeurs om interactieprotocollen te programmeren en hergebruiken. Hierdoor neemt de kwaliteit van parallelle software toe.'
Nieuwe programmeertaal
Voor zijn onderzoek gebruikte Jongmans formele methoden, een wiskundig-logische manier om software te beschrijven, om de correctheid van zijn methode aan te tonen. De onderzoeker ontwikkelde hiervoor een nieuwe programmeertaal die speciaal gericht is op het programmeren van interactieprotocollen. Programmeurs kunnen deze nieuwe programmeertaal gebruiken als aanvulling op een bestaande programmeertaal, zoals Java. In bestaande benchmarks van de NASA toonde de onderzoeker empirisch aan dat deze aanpak kan leiden tot software die net zo snel is als software ontwikkeld met klassieke programmeertechnieken, maar zonder de bestaande problemen.
Het onderzoek is uitgevoerd in de Formal Methods onderzoeksgroep op het Centrum Wiskunde & Informatica (CWI) in Amsterdam en de Universiteit Leiden, onder auspiciën van onderzoeksschool IPA (Institute for Programming research and Algorithms).