Het Centrum Wiskunde & Informatica begint een onderzoek naar methoden om programma's kleiner te maken door het toepassen van domeinspecifieke talen. Software zou zo efficiënter worden en een hogere kwaliteit krijgen.
Bestaande code voor software is veelal uiterst complex en daarom kostbaar om te onderhouden of uit te breiden. Bovendien bevatten de soms miljoenen regels code grote aantallen fouten die niet altijd worden gezien. Domein-specifieke talen, oftewel dsl's, zouden volgens prof. dr. Paul Klint van het CWI programma's aanmerkelijk kleiner kunnen maken, waardoor software in de toekomst veel sneller is te ontwikkelen. Een factor tien tot vijftig zou haalbaar zijn.
Dsl's zijn, in tegenstelling tot de meest gebruikte programmeertalen, gespecialiseerde talen die software binnen een afgebakend domein beschrijven. Bestaande voorbeelden zijn sql voor databasetoepassingen en html voor webopmaak. Voor een groot aantal toepassingen zouden er echter nog geen of onvoldoende efficiënte dsl's bestaan. De studiegroep software analysis and transformation aan het Centrum Wiskunde & Informatica wil onderzoek gaan doen naar het ontwerpen en toepassen van dsl's, nadat het subsidie heeft gekregen van het NWO.
Een van de vragen die de studiegroep wil beantwoorden is hoe een specifieke taal voor een bepaald domein het best kan worden ontworpen en hoe deze goed is te implementeren. Daarbij wordt gekeken naar metaprogrammeren. Via deze methode kunnen programma’s andere programma’s als data gebruiken. Tijdens het onderzoek wordt bestaande software voor diverse doeleinden bestudeerd. Uit deze kennis moet een dsl kunnen worden afgeleid, waardoor toekomstige code voor een bepaald domein efficiënter kan worden geschreven.
Als een praktijkvoorbeeld noemt Klint het ontwikkelen van dsl's voor forensische toepassingen. Zo heeft het CWI in samenwerking met het Nederlands Forensisch Instituut bekeken of er dsl's kunnen worden geschreven om scanprogramma's te ontwikkelen die zoeken naar data op opslagmedia. Het onderzoek van de studiegroep gaat vier jaar duren. Volgens Klint zullen de onderzoeksresultaten en de bijbehorende code zo veel mogelijk als opensource beschikbaar komen.