Stokoude software stut sterrenkunde

Techniek Astronomen gebruiken veel nauwelijks reproduceerbare eigen software. Dat moet anders, vindt Simon Portegies Zwart.

Eindtoestand van zeer uitgebreide (242 miljard punten) simulatie van het ontstaan van de melkweg, gemaakt met gespecialiseerde Bonsai-software (2014). Illustratie SURFsara, J. Bédorf, en NVIDIA.

„Het is niet te geloven hoe belangrijk software is voor ontdekkingen in de astronomie”, zegt Simon Portegies Zwart aan de telefoon. Hij is hoogleraar computationele astrofysica aan de Universiteit Leiden. Bijna alle nieuwe hypotheses worden getest met computerprogramma’s. Maar de software die daarvoor gebruikt wordt, is vaak stokoud en slecht gedocumenteerd. Delen van de code waaruit de software is opgebouwd stammen uit de jaren 70 en 80. Dinosource, noemt Portegies Zwart het. Alleen onderzoekers die hun code zelf geschreven hebben of kleine groepjes onderzoekers die er al jaren mee werken, kunnen ermee uit de voeten. Hierdoor zijn wetenschappelijke resultaten niet of nauwelijks reproduceerbaar.

Dat kan zo niet langer, vindt Portegies Zwart. In een opiniestuk in het blad Sciencetrekt hij aan de bel. Hij stelt voor om de code op te bouwen uit standaardmodules (een soort lego stenen van computercode) die door iedereen gebruikt en geverifieerd kunnen worden. Daarnaast pleit hij ervoor om makers van software erkenning te geven voor hun werk door code, net als artikelen, te publiceren in wetenschappelijke bladen.

Astronomische software is als de toren van Babel

Simon Portegies Zwart hoogleraar computationele astrofysica

Er zijn namelijk ook onderzoekers die hun software geheim houden. Bijvoorbeeld om te voorkomen dat anderen aan de haal gaan met code waaraan ze jaren gewerkt hebben.

„Een collega in Duitsland die ik onlangs vroeg om zijn code op te sturen weigerde dat”, vertelt Portegies Zwart. „Hij was bang dat anderen er fouten mee zouden maken. En dat hij, als maker, de schuld zou krijgen.”

Het is daarnaast „als de toren van Babel”, vervolgt hij. „Iedereen verwerkt data op zijn of haar eigen manier. De resultaten zijn op zulke verschillende manieren geproduceerd dat ze niet meer vergeleken kunnen worden. Het ene softwarepakket kan niet met het andere praten. Daardoor ontstaan er eilandjes van onderzoek rondom softwarepakketten.”

Waarom is dinosource die prima werkt een probleem?

„Op zich is er niets mis met code van veertig jaar geleden. Het is goed getest en zolang je het niet aanraakt werkt het. De problemen ontstaan als je iets wilt aanpassen of uitbreiden. Dan moet je de ‘keuken’ in en daar blijkt het vaak een zootje.

„Het komt regelmatig voor dat dinosource zo onduidelijk of rommelig is dat stukken code of zelfs hele softwarepakketten opnieuw geschreven worden. Simpelweg omdat niemand meer weet hoe de oude code in elkaar zit en hoe je er iets aan kan veranderen. De makers zijn er niet meer en niemand heeft ooit zorgvuldig gedocumenteerd hoe alles werkt.”

Hoe komt het dat er zo weinig aandacht besteed wordt aan goede softwarepakketten?

„Software is een ondergeschoven kindje. Er is geen geld en weinig erkenning voor. Het wordt meestal geschreven door de astronomen zelf, die niet goed zijn opgeleid in het programmeren. Bovendien worden ze beoordeeld op onderzoek, niet op hun software.”

Lees ook: Lek in ruimtestation ISS provisorisch gedicht

Geldt dit alleen voor software voor astronomie?

„Het geldt voor een groot deel van de software in de wetenschap. We lopen mijlenver achter op de industrie die hierin wel investeert. Maar de problemen zijn niet overal even groot. Computerprogramma’s om bijvoorbeeld een telescoop aan te sturen, zijn meestal in een keer geschreven en zodra het werkt, hoeft er bijna niets meer aan veranderd te worden. Ik denk dat het grootste probleem ligt bij de code die gebruikt wordt voor simulatiestudies.”

Hoe moet de softwarestructuur er in de toekomst uitzien?

„Om te beginnen is er een mentaliteitsverandering nodig in de astronomische gemeenschap. Die hoeft niet vanuit de internationale astronomische unie geregeld te worden. Het is beter om het gewoon samen te doen. Zodat iedereen mee kan denken.

„Het wordt een helse klus om vervolgens alle code te herschrijven. Maar als we met een paar mensen hard werken dan moet het kunnen. Dat zie je op plekken waar de software-infrastructuur beter geregeld is, zoals in de industrie en bij grote wetenschappelijke projecten zoals de deeltjesversneller bij CERN.

„Verder zou het helpen als wetenschappelijke tijdschriften het mogelijk maken om kleine stukjes code te publiceren. Dan krijgen wetenschappers er erkenning voor en houden ze het niet geheim. Je kunt dan beroemd worden met een wetenschappelijke ontdekking óf door een nuttig softwarepakket te maken.”

    • Dorine Schenk