Centrum Wiskunde & Informatica start onderzoek naar domein-specifieke talen

Kleine softwareprogramma’s hebben de toekomst

 

Kleine softwareprogramma’s hebben de toekomst

 Voor toepassingen als internetbankieren, een zoekmachine raadplegen of een filmpje downloaden op een smartphone zijn we volledig afhankelijk geworden van software. Een probleem is dat de software die we hiervoor gebruiken steeds groter wordt. Het Centrum Wiskunde & Informatica (CWI) in Amsterdam start een onderzoek naar methodes om softwareprogramma’s kleiner te maken. Dit leidt tot hogere productiviteit en kwaliteit.

De broncode van softwaresystemen kan uit tientallen tot honderden miljoenen regels bestaan. Dit maakt programmeren kostbaar en onderhoud aan systemen complex. In al die regels code kunnen duizenden fouten zitten waarvan zelfs programmeurs het bestaan niet eens kennen. Om softwareprogramma’s kleiner te maken richten de onderzoekers zich op de ontwikkeling van domein-specifieke talen (DSLs). Met DSLs is het mogelijk software in de toekomst tien tot vijftig maal sneller te ontwikkelen.

In tegenstelling tot programmeertalen die geschikt zijn voor meerdere toepassingen is een DSL een gespecialiseerde taal om programma’s in een afgebakend domein - zoals databases, auditing of forensisch onderzoek - te beschrijven. DSLs die al gebruikt worden zijn bijvoorbeeld SQL en HTML. Toepassing  op brede schaal van DSLs stuit echter nog op veel inhoudelijke en technische problemen. Bijvoorbeeld: Hoe ontwerp je een DSL voor een specifiek domein? In hun studie zullen de onderzoekers zich ook richten op het oplossen van implementatieproblemen,  een belangrijke beperking bij de introductie van DSLs.  

De benadering voor de implementatie van DSLs zal worden gebaseerd op metaprogrammeren, een methode waarbij programma’s andere programma’s als data gebruiken. Hiermee kan software automatisch worden geanalyseerd en vertaald naar moderne programmeertalen. In hun studie richten de onderzoekers zich op bestaande software. Door deze te onderzoeken kan een DSL worden afgeleid waarmee in de toekomst veel efficiënter software in hetzelfde domein kan worden gemaakt.

Het onderzoek wordt verricht door de groep ‘Software Analysis and Transformation’ van het CWI, onder leiding van Paul Klint. Het onderzoek van deze groep richt zich op de ontwikkeling van methoden en technieken voor het beheersbaar maken van software evolutie. Klint introduceerde in Nederland nieuwe onderzoeksgebieden als software evolutie en domein-specifieke talen. Er bestaat wereldwijd grote belangstelling voor het onderzoek van deze groep .

 

Het onderzoek is mogelijk gemaakt door het TOP-subsidieprogramma van NWO dat top-onderzoeksgroepen de gelegenheid biedt voor vernieuwing van hun onderzoekslijnen qua inhoud en qua samenwerking. Het oogmerk van het TOP-subsidieprogramma is ruimte maken voor innovatieve, grensverleggende wetenschap van excellente kwaliteit.